消费页读卡器状态与用户行为提示设计

版本:V1.0
日期:2026-08-29
适用模块:ConsumptionActivity

1. 目标

将消费页顶部的读卡器信息拆分为两种职责:第一行持续展示设备连接状态,第二行只在卡片操作阶段展示用户当前应执行的动作。设备状态与用户动作互不覆盖,现有读卡、扣款、反馈和复位业务流程保持不变。

2. 页面结构

  1. consumption_reader_status 继续作为读卡器连接状态行,并始终显示。
  2. 在其正下方新增 consumption_reader_user_action,专门展示放卡、移卡、保持卡片和读卡结果提示。
  3. 用户行为提示在餐盘识别、订单查询和订单失败阶段隐藏,不占用用户注意力;进入第三步卡片结算后再显示。
  4. 两行使用现有字体尺寸和颜色资源,不引入硬编码尺寸或颜色。

3. 读卡器连接状态规则

设备阶段显示文案颜色可见性
初始化正在初始化读卡器…黄色始终显示
申请 USB 权限正在申请读卡器 USB 权限…黄色始终显示
正在连接正在连接读卡器…黄色始终显示
已连接并寻卡读卡器已连接,正在寻卡…绿色始终显示
未找到、权限拒绝、断开、异常保留现有具体错误文案红色始终显示

连接状态只表达设备能否正常寻卡。初始化、申请权限和正在连接属于正常过渡阶段,显示黄色;成功进入寻卡状态后显示绿色;未找到、权限拒绝、断开和异常显示红色。

4. 用户行为提示规则

用户行为提示由现有 ConsumptionUiStateMapper.UiState 统一决定,不在硬件回调中维护第二套状态。

页面展示状态用户行为提示颜色可见性
WAITING_TRAYCONFIRMING_ORDERORDER_FAILED隐藏
PLACE_CARD请放置卡片主色显示
REMOVE_CARD请拿走卡片警示色显示
PROCESSING_CARD请勿移动卡片主色显示
COMPLETED读卡成功,请拿走卡片绿色显示
TRANSACTION_FAILED读卡失败,请拿走卡片红色显示
TRANSACTION_UNKNOWN读卡结果待确认,请勿重复放卡红色显示

结果不确定时不得提示用户重新放卡,以免发生重复扣款风险。

5. 数据流与边界

6. 验收标准

  1. 页面启动后读卡器连接状态行可见,不再因非错误状态设为 GONE
  2. 初始化、申请权限和正在连接时为黄色;已连接并寻卡时为绿色;未找到、权限拒绝、断开和异常为红色。
  3. 用户行为提示只在卡片结算阶段显示。
  4. 放卡、移卡、处理中、成功、失败和结果未知分别显示对应文案。
  5. 进入餐盘或订单页面后,用户行为提示被隐藏,不残留上一轮内容。
  6. 原有读卡、零元核验、正金额扣款、结果反馈与复位行为不变。