docs: 归档任务 #117

This commit is contained in:
chengma
2026-08-10 18:53:11 +08:00
parent b182effa7e
commit 036fbfbe3b
@@ -0,0 +1,59 @@
# #117 安全设置采购数量并关闭输入法遮挡
- 工单号:#117
- 类型:缺陷修复
- 父级:#1 Client 拼多多任务采集与采购客户端
- 版本:Client 采购自动化
- 状态:待用户验收
- 日期:2026-08-10
- Gitea:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/117>
- 实现提交:`b182eff`
## 背景与目标
原数量设置代码总是聚焦数量输入框。即使页面默认数量已经正确,也会弹出安卓
输入法并遮挡规格面板底部的下单按钮。目标是优先避免输入法;必须使用输入框时,
只在确认输入法显示后安全关闭,并重新核对提交前页面。
## 最终方案
1. 先从最新控件树读取当前数量,等于目标数量时直接返回。
2. 数量差不超过 5 时,逐次使用“增加数量”或“减少数量”按钮;每次点击前重新
定位唯一按钮,点击后校验数量。
3. 数量差较大或初始控件树没有唯一加减按钮时,才使用输入框。
4. 输入框写入后通过 `dumpsys input_method` 判断输入法状态。只有明确显示时才按
一次返回键;状态未知时不盲目操作。
5. 输入法关闭后重新核对规格面板、颜色、尺码、数量、价格和唯一提交按钮。
输入法无法关闭或规格面板丢失时安全停止。
实现与建单方案一致,无 Admin 接口和数据库结构变化,不执行付款操作。
## 改了哪些文件
- `client/src/pdd_u2_purchase_adapter.py`:增加数量按钮策略、输入法检测和面板恢复校验。
- `client/test/test_pdd_u2_purchase_adapter.py`:补充数量与输入法安全路径测试。
- `docs/client/06-quality-security.md`:记录采购数量输入的稳定安全约束。
## 验收结果
- [x] 目标数量等于当前数量时不聚焦输入框。
- [x] 5 次以内的数量差优先逐次点击加减按钮并校验。
- [x] 输入框兜底仅在确认输入法显示时按一次返回键。
- [x] 输入法关闭后重新校验规格、数量、价格和唯一提交目标。
- [x] 输入法无法关闭、状态未知或规格面板丢失时安全停止。
- [x] 演练测试没有点击最终提交,live 测试仍只点击一次最终提交。
- [ ] 等待用户在真机演练任务中验收输入法和规格面板恢复效果。
## 测试
从 `client` 目录执行:
```powershell
C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_u2_purchase_adapter.py"
C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
```
结果:专项 19 项通过;Client 全量 337 项通过。
未验证到的部分:未操作真实手机,未执行真实采购或点击真实下单按钮;需要用户
使用真机演练任务验证不同输入法实现下的显示与关闭效果。