From 02511222aaff0176d027844ee106e45517efd940 Mon Sep 17 00:00:00 2001 From: chengma Date: Wed, 12 Aug 2026 17:30:50 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=BD=92=E6=A1=A3=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?#190?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../190-兼容快速购买确认页进入规格选择面板.md | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 docs/task/190-兼容快速购买确认页进入规格选择面板.md diff --git a/docs/task/190-兼容快速购买确认页进入规格选择面板.md b/docs/task/190-兼容快速购买确认页进入规格选择面板.md new file mode 100644 index 0000000..eccfcca --- /dev/null +++ b/docs/task/190-兼容快速购买确认页进入规格选择面板.md @@ -0,0 +1,73 @@ +# 190 兼容快速购买确认页进入规格选择面板 + +- 类型:缺陷 +- 父级大工单:#1 +- 所属 MVP / 版本:#2 Client 可运行任务闭环 +- 状态:已完成,待用户验收 +- 日期:2026-08-12 +- Gitea 工单: + +## 背景与目标 + +采集任务 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)