Files
cmautobuy/docs/task/272-采购尺码候选扫描面板状态恢复.md
T
2026-08-18 17:00:36 +08:00

43 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 272 采购尺码候选扫描面板状态恢复
- 类型:缺陷
- 父级大工单:#96(Client Epic #1)
- 所属 MVP / 版本:#253 采购运行时 AI 规格纠偏闭环
- 状态:待验收
- 日期:2026-08-18
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/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 设备验证滚动动画、验证码、登录、风控或支付页面切换。
## 相关提交
- `536f4bc` `fix: 修复采购尺码候选扫描面板误判 (#272)`