OnecardDemo 本地消费与服务器单点功能实施计划
执行状态:代码、页面、自动测试和文档任务已完成;Android 真卡消费、补助余额卡和真实服务器仍按硬件/现场门禁单独验收。
Task 1:HID 长请求分包
为 36 字节 PSAM 请求增加 offset 0/24 的两片发送;中间片只写,最后一片读取响应。测试复现 Bus Hound 报告。
Task 2:消费 APDU 与模型
建立钱包、请求、结果和 APDU 编解码模型;用 2026-08-23 14:26:00 的 1 分样本逐字节断言四条 APDU。
Task 3:单钱包消费
实现 PSAM 初始化、卡/PSAM 通道 APDU 和扣款状态;覆盖账号不一致、余额不足、扣款结果不确定和 PSAM 确认失败。
Task 4:补贴优先
覆盖补助足够、拆两笔、补助为零、总余额不足和部分成功。成功过的交易不回滚、不重试。
Task 5:SOAP 层
实现 8 个 SOAPAction、XML 转义、Fault/计数解析、16 字段上传结构和分段用户下载;真实响应待现场服务器。
Task 6:Android 页面
主页面新增本地消费区域;服务器单点页面提供连接、查询、上传和独立可复制结果区。
Task 7:文档和变更记录
同步更新通讯协议,新增与页面/代码 1:1 的字段说明,并更新 Markdown/HTML 变更记录。
Task 8:验证
运行 testDebugUnitTest、assembleDebug、lintDebug 和文档一致性检查。现金消费、补助消费和服务器分别执行各自硬件/现场门禁。