docs: 归档任务 #190

This commit is contained in:
chengma
2026-08-12 17:30:50 +08:00
parent 9109b8891d
commit 02511222aa
@@ -0,0 +1,73 @@
# 190 兼容快速购买确认页进入规格选择面板
- 类型:缺陷
- 父级大工单:#1
- 所属 MVP / 版本:#2 Client 可运行任务闭环
- 状态:已完成,待用户验收
- 日期:2026-08-12
- Gitea 工单:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/190>
## 背景与目标
采集任务 cj14 点击规格入口后进入带数量、支付方式和“现在买”按钮的快速确认页。
页面只有当前已选款式和尺码,不是完整规格选择面板,原采集器等待后报告页面结构
无法识别。目标是在不改变原规格解析、逐色采价和尺码采集流程的前提下,从该页面
安全打开真正的规格选择区域。
## 最终方案
- 原有规格面板仍优先交给原解析流程,不增加额外点击。
- 只有页面同时具备 PDD 控件、关闭入口、已选摘要、支付区域、唯一数量控件、底部
“现在买”和独立主规格标题等强证据时,才识别为可恢复的快速确认页。
- 只定位主规格标题下方、下一规格标题上方的可点击当前值,并显式排除购买、提交、
支付、数量和关闭控件。
- 每次等待最多恢复一次。点击后重新读取控件树,成功时继续复用原颜色价格和尺码
采集流程;失败时返回明确错误,不循环点击。
- 快速确认页本身仍不能被当作只有一个 SKU 的完整规格面板。
最终实现与建单方案一致。
## 改了哪些
- `client/src/pdd_collect_service.py`:增加快速确认页识别、主规格安全定位和一次性恢复。
- `client/test/test_pdd_collect_service.py`:增加成功恢复、单次重试、证据不足不点击和原
面板不增加点击的测试。
- `client/test/fixtures/pdd_quick_confirmation.xml`:增加不含真实商品和个人数据的脱敏
最小固件。
## 验收结果
| 验收标准 | 结果 |
|---|---|
| 原有滚动、非滚动面板继续走原流程 | 通过 |
| 快速确认页只点击当前主规格值一次 | 通过 |
| 恢复后复用原规格解析流程 | 通过 |
| 快速确认页不作为完整 SKU 面板 | 通过 |
| 不点击“现在买”、支付或提交按钮 | 通过 |
| 证据不足或恢复失败时安全结束 | 通过 |
| 语法、差异和规格采集专项测试通过 | 通过 |
| Client 全量测试全部通过 | 未通过:467 项中 2 项为既有版本号断言失败,与本工单无关 |
## 测试
- 执行的命令:
```powershell
C:/Python310/python.exe -m py_compile src/pdd_collect_service.py test/test_pdd_collect_service.py
C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_collect_service.py"
$env:QT_QPA_PLATFORM="offscreen"
C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
Remove-Item Env:QT_QPA_PLATFORM
git diff --check
```
- 结果:规格采集专项 71 项全部通过,语法检查和差异检查通过。Client 全量运行 467
项,465 项通过;2 项失败是工作区已有 `src/version.py` 为 `0.1.2`,而既有更新测试
固定期待 `0.1.0`,本工单未修改该用户改动。使用 cj14 本机失败 XML 只读验证,
能稳定定位主规格值且不会定位底部购买按钮。
- **没验证到的部分**:未连接真机重新采集 cj14;点击当前主规格后 PDD 是否稳定打开
完整规格选择区域,以及最终颜色价格、尺码和 Admin 提交闭环,需要用户真机验收。
## 相关提交
- `9109b88` fix: 兼容快速确认页进入规格面板 (#190)