diff --git a/docs/task/160-安全点击图片型颜色并取消默认尺码.md b/docs/task/160-安全点击图片型颜色并取消默认尺码.md new file mode 100644 index 0000000..d3e5689 --- /dev/null +++ b/docs/task/160-安全点击图片型颜色并取消默认尺码.md @@ -0,0 +1,60 @@ +# #160 Client:安全点击图片型颜色并取消默认尺码 + +- 工单号:#160 +- 类型:缺陷 +- 父级:Epic #1、MVP #2 +- 版本:Client 可运行任务闭环 +- 状态:待验收 +- 日期:2026-08-11 +- Gitea: + +## 背景与目标 + +图片型颜色卡片同时包含商品图片、打开大图入口和底部颜色文字。旧代码点击整个 +卡片中心,可能误入大图页。部分商品还会默认选中尺码,导致部分颜色不可选。 + +目标是在逐色采价前只取消一次明确选中的默认尺码,并保证图片型颜色只点击底部 +文字区域;全部颜色处理完后仍继续采集尺码。 + +## 最终方案 + +1. 进入规格面板后向下寻找尺码;只有发现唯一选中尺码时才点击一次,并用最新 + 控件树验证是否取消。 +2. 页面不支持取消时不重试,随后恢复到规格面板顶部和颜色列表左端。 +3. 图片型颜色优先使用同名 `TextView` 的坐标,排除 `ImageView` 和“打开大图” + 区域;没有安全文字坐标时该颜色价格留空。 +4. 使用 `ViewPager` 与页码共同识别误入大图;最多按一次返回键,确认恢复规格 + 面板后继续,恢复失败则安全终止。 +5. 保留现有蛇形逐色采价、颜色缺价兼容和最终尺码只读采集流程。 + +最终实现与建单方案一致,未修改数据库、Admin 接口或 `pdd_data` 结构。 + +## 改了哪些文件 + +- `client/src/pdd_collect_service.py`:增加默认尺码取消、安全文字点击和大图恢复。 +- `client/test/test_pdd_collect_service.py`:增加图片颜色、默认尺码和大图恢复测试。 + +## 验收结果 + +- [x] 图片型颜色点击底部文字,不点击图片或打开大图区域。 +- [x] 唯一默认尺码只点击一次,并读取最新控件树验证。 +- [x] 不支持取消时不重复点击。 +- [x] 查找尺码后恢复面板顶部,再执行原蛇形逐色采价。 +- [x] 误入大图最多返回一次,未恢复时返回明确错误。 +- [x] 颜色处理完成后仍采集所有可见尺码文字。 +- [x] 精确测试、Client 完整测试和语法检查通过。 +- [ ] 用户使用真机重新采集商品 `624619167609` 验收。 + +## 测试 + +在 `client/` 目录执行: + +```powershell +C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_collect_service.py" +C:/Python310/python.exe -m unittest discover -s test -p "test_*.py" +C:/Python310/python.exe -m py_compile src/pdd_collect_service.py test/test_pdd_collect_service.py +``` + +结果:采集服务 49 项通过,Client 完整 406 项通过,语法检查通过。 + +未验证到的部分:未使用真机重新采集;未执行采购、下单或付款。