diff --git a/docs/task/275-兼容非滚动规格确认面板.md b/docs/task/275-兼容非滚动规格确认面板.md new file mode 100644 index 0000000..bc2ce89 --- /dev/null +++ b/docs/task/275-兼容非滚动规格确认面板.md @@ -0,0 +1,43 @@ +# 275 兼容非滚动规格确认面板 + +- 类型:缺陷 +- 父级大工单:#96 +- 所属 MVP / 版本:#253 采购运行时 AI 规格纠偏闭环 +- 状态:待验收 +- 日期:2026-08-18 +- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/275 + +## 背景与目标 + +采购任务的 SYB 尺码与 PDD App 真机文字不一致时,Client 应完整读取真机候选并交给既有 Admin 规则和 AI 解析。部分确认页不暴露 `scrollable=true`,规格、数量和提交节点只共享全屏根容器,旧解析器会排除该容器并报规格区域无法解析。 + +## 最终方案 + +保留原有非滚动面板识别,仅增加严格的订单确认页兼容路径:页面必须同时存在 PDD 控件树、唯一已选摘要、唯一数量输入框、唯一增减按钮、明确规格标题与候选以及唯一底部提交区域。只有这些证据完整时,才允许使用全屏共同容器解析规格;标题的语义决定 `color` 和 `size`,不依赖纵向顺序。 + +本任务没有新增 AI。修复后真机原始候选能够进入 #255 已有的规则和 AI 解析流程。 + +## 改了哪些 + +- `client/src/pdd_collect_service.py`:增加严格的全屏非滚动订单确认规格面板识别。 +- `client/test/test_pdd_collect_service.py`:增加顶部提示不可见、尺码在颜色上方的脱敏回归测试。 + +## 验收结果 + +| 验收标准 | 结果 | +|---|---| +| 非滚动全屏确认页可识别为规格面板 | 通过 | +| 女大码真机原文可解析为 size 候选 | 通过 | +| 尺码在上、颜色在下仍按标题语义生成 key | 通过 | +| 既有规格解析、普通页面保护和采购门禁不变 | 通过(相关测试) | + +## 测试 + +- 执行的命令:`C:/Python310/python.exe -m py_compile src/pdd_collect_service.py src/pdd_u2_purchase_adapter.py` +- 执行的命令:`C:/Python310/python.exe -m pytest test/test_pdd_collect_service.py test/test_pdd_u2_purchase_adapter.py -q` +- 结果:145 passed。 +- **没验证到的部分**:尚未用原失败商品重新执行完整真机采购;未执行下单或付款。 + +## 相关提交 + +- `7b6e59c` `fix: 兼容非滚动规格确认面板 (#275)`