docs: 归档任务 #266
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# #266 Client:修正规格候选遍历后的颜色复核顺序
|
||||
|
||||
- 工单号:#266
|
||||
- 类型:缺陷修复
|
||||
- 父级大工单:#96(关联 #1)
|
||||
- 所属 MVP:#253
|
||||
- 状态:待验收
|
||||
- 日期:2026-08-18
|
||||
- Gitea:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/266>
|
||||
|
||||
## 背景与目标
|
||||
|
||||
Client 完整遍历 PDD 第二规格后,规格面板可能停在尺码列表末端,已选颜色因滑出当前无障碍控件树而暂时不可见。原实现先复核颜色、后恢复颜色区域,会把“暂时不可见”误报为 `PURCHASE_SPEC_CONTEXT_CHANGED`。本任务调整安全复核顺序,同时保留颜色、页面、候选快照和最终选中门禁。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- Admin 返回规格解析结果后,先确认页面仍为规格确认页。
|
||||
- 使用既有有界手势恢复颜色区域,并使用恢复函数返回的最新控件树复核目标颜色。
|
||||
- 颜色仍明确选中才重新完整读取尺码候选、复算候选快照并点击返回尺码。
|
||||
- 无法恢复颜色区域时返回 `PURCHASE_PANEL_COLOR_REGION_NOT_FOUND`;恢复后目标颜色没有选中证据时仍返回 `PURCHASE_SPEC_CONTEXT_CHANGED`。
|
||||
- 不跳过颜色复核,不改变 Admin 接口、AI 结果、不可逆标记或单次提交规则。
|
||||
|
||||
## 改了哪些文件
|
||||
|
||||
- `client/src/pdd_u2_purchase_adapter.py`
|
||||
- `client/test/test_pdd_u2_purchase_adapter.py`
|
||||
- `docs/client/06-quality-security.md`
|
||||
|
||||
实现提交:`b0cddb9`
|
||||
|
||||
## 验收结果
|
||||
|
||||
- [x] 颜色节点仅因第二规格遍历滑出控件树时,先恢复颜色区域再复核。
|
||||
- [x] 恢复后重新读取控件树,并继续使用繁简体归一化后的强选中证据。
|
||||
- [x] 明确换色仍返回 `PURCHASE_SPEC_CONTEXT_CHANGED`,不会点击返回尺码。
|
||||
- [x] 无法恢复颜色区域时返回 `PURCHASE_PANEL_COLOR_REGION_NOT_FOUND`,不会读取候选或点击尺码。
|
||||
- [x] 页面、候选快照和最终尺码选中门禁保持不变。
|
||||
- [x] 全部操作仍发生在不可逆标记之前。
|
||||
|
||||
## 测试
|
||||
|
||||
在 `client/` 目录执行:
|
||||
|
||||
```powershell
|
||||
C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.py
|
||||
C:/Python310/python.exe -m pytest -q test/test_pdd_u2_purchase_adapter.py test/test_purchase_task_service.py
|
||||
C:/Python310/python.exe -m pytest -q test
|
||||
$env:QT_QPA_PLATFORM="offscreen"
|
||||
C:/Python310/python.exe -c "from src.ui_main import MainWindow; from PyQt5.QtWidgets import QApplication; app=QApplication([]); w=MainWindow(); print('OK'); app.quit()"
|
||||
Remove-Item Env:QT_QPA_PLATFORM
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- 语法检查通过。
|
||||
- 定向测试 84 项全部通过。
|
||||
- Client 全量测试 528 项通过、2 项失败;失败是工作区现有 `src/version.py` 为 `0.1.2`,两项旧测试仍期待 `0.1.0`,与本任务无关。
|
||||
- 离屏 UI 冒烟打印 `OK`。
|
||||
|
||||
未验证到的部分:未在真实 Android 设备上复现长尺码列表后的颜色区域恢复;未执行真实规格点击、提交订单或付款。
|
||||
Reference in New Issue
Block a user