docs: 归档任务 #260
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# 260 修复 AI 规格返回后的繁简体颜色复核误判
|
||||
|
||||
- 类型:缺陷
|
||||
- 父级大工单:#96
|
||||
- 所属 MVP / 版本:#253 采购运行时 AI 规格纠偏闭环
|
||||
- 状态:已完成
|
||||
- 日期:2026-08-18
|
||||
- Gitea 工单:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/260>
|
||||
|
||||
## 背景与目标
|
||||
|
||||
任务颜色为繁体、PDD App 同一颜色显示为简体时,初次选择颜色会按既有繁简归一化规则成功;但等待 Admin 返回规格解析结果后,Client 使用逐字字符串重新检查颜色,误报 `PURCHASE_SPEC_CONTEXT_CHANGED`。目标是在不削弱页面、选中状态和候选快照安全检查的前提下消除该误报。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- 采购 Adapter 的已选规格判断统一使用既有 `normalize_spec_text` 比较键,原始规格文字仍用于任务、审计和点击。
|
||||
- 规格节点或祖先仍必须具有真实 `selected/checked` 属性;节点滑出屏幕时仍只接受“已选/已選”摘要作为证据,不进行模糊匹配。
|
||||
- AI 返回后继续先检查规格确认页,再检查颜色选中状态,最后重新采集并比较候选哈希与候选原文。
|
||||
- 页面离开和颜色不再选中继续使用稳定错误码 `PURCHASE_SPEC_CONTEXT_CHANGED`,但返回不同消息及最小诊断字段,便于定位。
|
||||
- 未修改数据库、Admin 接口、任务规格原文、不可逆标记或真实采购门禁。
|
||||
|
||||
## 改了哪些
|
||||
|
||||
- `client/src/pdd_u2_purchase_adapter.py`:统一繁简体选中复核,并拆分页面与颜色上下文诊断。
|
||||
- `client/test/test_pdd_u2_purchase_adapter.py`:增加任务繁体/PDD 简体成功,以及页面或颜色真正变化时安全停止的测试。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| 唯一繁简等价颜色仍明确选中时不再误报上下文变化 | 通过 |
|
||||
| 页面离开规格确认页时仍安全失败并记录页面诊断 | 通过 |
|
||||
| 颜色真正未选中或切换时仍安全失败并记录颜色诊断 | 通过 |
|
||||
| 候选列表、哈希和返回原文复核保持不变 | 通过 |
|
||||
| 数量、价格、地址、不可逆标记和单次提交门禁未放宽 | 通过 |
|
||||
| 不保存原始 XML、个人数据或凭据,不自动付款 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行的命令:
|
||||
- `C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.py test/test_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 --disable-warnings`
|
||||
- `C:/Python310/python.exe -m pytest -q test`
|
||||
- `C:/Python310/python.exe -m pytest -q test --disable-warnings --ignore=test/test_update_service.py --ignore=test/test_update_ui_event.py`
|
||||
- 设置 `QT_QPA_PLATFORM=offscreen` 后创建并关闭 `MainWindow`。
|
||||
- 结果:定向测试 80 项通过;Client 全量测试 502 项通过、2 项既有版本号断言失败;排除两个既有版本号测试文件后 482 项通过;语法检查和离屏 UI 冒烟通过。
|
||||
- **没验证到的部分**:没有在真实 Android 设备上重新执行 `cg44` 的完整规格解析后采购链路;没有触发提交订单或付款。
|
||||
|
||||
## 遗留问题
|
||||
|
||||
- 工作区已有 `client/src/version.py` 为 `0.1.2`,两个旧测试仍固定期待 `0.1.0`;该问题不属于 #260。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `752d420` 修正规格返回后的繁简体复核。
|
||||
Reference in New Issue
Block a user