2.3 KiB
2.3 KiB
272 采购尺码候选扫描面板状态恢复
- 类型:缺陷
- 父级大工单:#96(Client Epic #1)
- 所属 MVP / 版本:#253 采购运行时 AI 规格纠偏闭环
- 状态:待验收
- 日期:2026-08-18
- Gitea 工单:#272
背景与目标
采购直接选择目标尺码失败后,需要只读遍历页面候选。原流程会重新读取第一棵控件树,滚动动画期间遇到不完整 XML 时容易误报规格面板丢失。本任务复用已读取的最新规格首帧,并使失败原因反映真实页面状态。
最终方案
采购适配层在颜色区域归位后,将最新 XML 交给第二规格候选扫描。采集服务把该 XML 作为首次读取的优先输入,后续滑动前仍重新读取最新控件树。扫描期间识别验证码、登录、风控和支付页并立即安全停止;若确认页仍在但规格结构持续不可解析,返回结构不完整错误;页面离开确认页时返回面板丢失错误,并附带不含个人数据的读取诊断。
改了哪些
client/src/pdd_u2_purchase_adapter.py:候选扫描复用最新规格首帧;保留自定义测试扫描器的单参数接口。client/src/pdd_collect_service.py:第二规格扫描支持首帧;细分短暂结构异常、特殊页面和确认页离开后的错误。client/test/test_pdd_collect_service.py:增加首帧优先解析回归测试。
验收结果
| 验收标准 | 结果 |
|---|---|
| 候选扫描复用最新有效首帧 | 通过 |
| 首帧可用时不依赖第一次重新读取设备 XML | 通过(新增测试) |
| 特殊页面和确认页结构异常可区分 | 通过(代码与既有特殊页测试) |
| 既有规格匹配和采购门禁未改动 | 通过(相关测试) |
测试
- 执行的命令:
C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.py src/pdd_collect_service.py - 执行的命令:
C:/Python310/python.exe -m pytest test/test_pdd_u2_purchase_adapter.py test/test_pdd_collect_service.py -q - 结果:144 passed。
- 没验证到的部分:未在真实 Android 设备验证滚动动画、验证码、登录、风控或支付页面切换。
相关提交
536f4bcfix: 修复采购尺码候选扫描面板误判 (#272)