一卡通读卡器成功连接是进入消费业务的必要条件。设备未检测到、USB 权限未取得或协议初始化未成功时,不得进入 ConsumptionActivity,也不得启动餐盘识别、订单查询、读卡或扣款。
ModeDispatchActivity。ConsumptionStartActivity。ConsumptionActivity。FunctionSelectActivity 点击消费功能。ConsumptionStartActivity,不得直接进入 ConsumptionActivity。SettingActivity 根据当前运行模式选择返回目标。ConsumptionStartActivity,不直接恢复旧的 ConsumptionActivity。采用“消费启动页持有前置连接门禁”方案。未采用冷启动分发器检查,因为手动功能入口可能绕过;未采用消费页内禁用业务,因为不符合连接成功前不能进入的要求。
首次发现不到支持的读卡器时展示单一确认弹框,提示“未检测到一卡通读卡器,请连接读卡器”。
USB 权限被拒绝或协议初始化失败时保持门禁关闭。提示可确认重试;确认后重新发现、授权和初始化,取消后退出应用。提示区分未检测到、权限被拒绝和初始化失败。
消费页运行期间读卡器断开时,立即停止餐盘识别并阻止新订单和读卡交易。没有在途扣款时清理尚未消费状态并进入等待连接提示;确认后等待恢复,取消后退出应用。
若断开发生在已经发出扣款指令的交易中,不强制中断串行任务;先记录已知或不确定结果,同时禁止新业务,结果收敛后再进入恢复门禁。
ConsumptionStartActivity:展示状态、弹框和跳转结果。FunctionSelectActivity:统一路由到启动门禁。SettingActivity:消费模式返回路径继续指向启动门禁。ConsumptionActivity:门禁通过后运行,断开时撤销业务资格。记录门禁开始、设备未发现、用户选择、USB 接入、权限、初始化、门禁通过和运行期断开;不记录 USB 原始报文或敏感卡信息。