docs: 归档任务 #75
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# 75 接入采购演练真机适配器
|
||||
|
||||
- 类型:需求
|
||||
- 父级大工单:#1
|
||||
- 所属 MVP / 版本:#2 Client 可运行任务闭环(MVP)
|
||||
- 状态:已完成,待用户验收
|
||||
- 日期:2026-08-10
|
||||
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/75
|
||||
|
||||
## 背景与目标
|
||||
|
||||
Client 已能领取采购任务,但主窗口没有注入正式采购 Adapter,
|
||||
因此客户端不会声明采购能力,Admin 也不会把待领取的采购任务
|
||||
派给它。本任务接入 uiautomator2 真机 Adapter,仅实现采购演练,
|
||||
严格停在提交订单之前。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- 新增 `U2PddPurchaseAdapter`,复用现有 `PddDeviceService` 的连接与会话管理。
|
||||
- 打开并校验 PDD 商品链接,进入规格面板后精确选择颜色、尺码和数量。
|
||||
- 从最新无障碍控件树反读商品号、已选规格、数量和单价,
|
||||
交给现有 `PurchaseTaskService` 执行一致性与限价校验。
|
||||
- 只支持已确认的 `color` 和 `size` 规格维度;出现未支持维度时
|
||||
在点击规格前立即停止。
|
||||
- 验证码、登录、风控和支付页统一视为安全阻断。
|
||||
- `enter_confirmation()` 和 `stop_before_submit()` 只读取页面状态,
|
||||
没有下单、提交或付款点击实现。
|
||||
- 主窗口注入生产工厂,使已选 Android 设备的 Client 可声明
|
||||
`dry_run` 采购能力。
|
||||
|
||||
## 改了哪些文件
|
||||
|
||||
- `client/src/pdd_u2_purchase_adapter.py`:uiautomator2 采购演练真机 Adapter。
|
||||
- `client/src/ui_main.py`:将生产 Adapter 工厂注入 PDD 任务事件层。
|
||||
- `client/test/test_pdd_u2_purchase_adapter.py`:覆盖演练正常路径和安全阻断。
|
||||
- `client/test/test_pdd_ui_event.py`:验证主窗口已接入生产工厂。
|
||||
- `docs/client/02-architecture.md`、`docs/client/06-quality-security.md`:
|
||||
同步真机 Adapter 边界与采购安全约束。
|
||||
|
||||
本任务没有修改数据库表结构或 Admin 接口。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| MainWindow 注入正式采购 Adapter 工厂 | 通过 |
|
||||
| 有已选设备时可声明 `dry_run` 采购能力 | 通过 |
|
||||
| 精确选择颜色、尺码、数量并反读校验 | 通过 |
|
||||
| 价格以分为单位交给现有限价校验 | 通过 |
|
||||
| 验证码、登录、风控、支付页安全停止 | 通过 |
|
||||
| Adapter 不点击提交订单或付款 | 通过 |
|
||||
| Client 全量回归测试 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行的命令:
|
||||
- `C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"`
|
||||
- `C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.py src/ui_main.py`
|
||||
- 使用项目现有三份规格面板 XML 执行页面、数量和单价解析检查。
|
||||
- 结果:Client 全量 211 项测试通过;语法检查通过;三份 XML
|
||||
均识别为确认面板,数量均为 1,单价分别为 1180、470 和 1288 分。
|
||||
- **未验证到的部分**:未连接真实 Admin 和 Android 设备执行完整采购演练;
|
||||
未对真实 PDD 页面的版本差异、库存变化和网络中断做实机验证。
|
||||
按安全约束,没有也不应该执行真实提交订单或付款测试。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `7e90af0` 接入采购演练真机适配器
|
||||
Reference in New Issue
Block a user