Files
cmautobuy/docs/task/160-安全点击图片型颜色并取消默认尺码.md
T

61 lines
2.7 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.
# #160 Client:安全点击图片型颜色并取消默认尺码
- 工单号:#160
- 类型:缺陷
- 父级:Epic #1、MVP #2
- 版本:Client 可运行任务闭环
- 状态:已完成,用户验收通过
- 日期:2026-08-11
- Gitea:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/160>
## 背景与目标
图片型颜色卡片同时包含商品图片、打开大图入口和底部颜色文字。旧代码点击整个
卡片中心,可能误入大图页。部分商品还会默认选中尺码,导致部分颜色不可选。
目标是在逐色采价前只取消一次明确选中的默认尺码,并保证图片型颜色只点击底部
文字区域;全部颜色处理完后仍继续采集尺码。
## 最终方案
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 项通过,语法检查通过。
未验证到的部分:未使用真机重新采集;未执行采购、下单或付款。