Files
cmpdd/tasks.md
T
chengmaandClaude Opus 4.8 c41f37a27d feat(T-002): 建立核心数据模型与状态枚举
- src/core/status.py: TaskStatus 六态枚举,英文成员 + display_name/from_display
  中英映射(单一事实源),对齐 04-architecture.md §3.4。
- src/core/models.py: OrderTask dataclass,字段集合/类型对齐 §3.3;支付模式不挂模型。
- tests/test_models.py: 枚举完整性/双向映射/未知值报错/默认值/实例独立性。
- 文档同步:04 §3.4 约定补 from_display;tasks/progress/current-state 更新。

验证:compileall OK;unittest Ran 10 tests, OK。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 17:17:52 +08:00

87 lines
5.1 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.
# 任务看板(Tasks)
> 把 MVP 拆成小步、可独立交付的任务,让 AI 一步一步开发,避免一次生成整个项目。
## 使用规则
1. **一次只做一个任务**:每轮只领取一个状态为 `TODO`、且依赖均已 `DONE` 的任务,取最靠前的那个。
2. **做完即停**:完成该任务、自测通过、把状态改成 `DONE` 后,停下来汇报。
3. **不跳步**:依赖未完成的任务不能开工。
4. **完成定义**:以 [编码规则](docs/05-coding-rules.md) 的验证清单为准。
5. **动手前**先读 `docs/00-ai-start-here.md`、`docs/05-coding-rules.md`、`docs/current-state.md` 和 `progress.md`。
## 状态图例
`TODO` 待开始 · `DOING` 进行中(同一时间最多 1 个)· `DONE` 已完成并验收 · `BLOCKED` 受阻(注明原因)
---
## Phase 0 · 地基
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-001 | 初始化 Python 项目骨架 | - | 建立 `src/`、`tests/`、`requirements.txt`;可运行最小入口;不引入无关依赖;用**真实可运行命令**替换 `00-ai-start-here.md`、`03-tech-stack.md`、`05-coding-rules.md`、`current-state.md` 中的占位符验证命令 | DONE |
| T-002 | 建立核心数据模型和状态枚举 | T-001 | `OrderTask`、`TaskStatus` 与 `04-architecture.md` 一致;有基础单元测试 | DONE |
| T-003 | 建立日志和运行产物目录策略 | T-001 | 日志、截图、UI XML 输出路径清晰;不记录敏感信息 | TODO |
## Phase 1 · 最高风险验证
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-101 | 验证 ADB 和 `uiautomator2` 真机连接 | T-001 | 能列出设备、截图、dump UI XML;失败时有明确错误 | TODO |
| T-102 | 验证打开商品链接并跳转拼多多 App | T-101 | 输入一个商品链接后,真机进入对应商品详情页或记录失败原因 | TODO |
| T-103 | 验证购买入口和 SKU 面板识别 | T-102 | 能识别并打开 SKU 面板,保存截图和 UI XML 证据 | TODO |
| T-104 | 验证单条 SKU 文本选择 | T-103 | 能按明确 SKU 文本选择规格;匹配失败不盲点 | TODO |
| T-105 | 验证执行到支付前校验和默认暂停 | T-104 | 能进入订单确认/支付前节点,读取关键确认信息,并默认进入 `待人工` 状态 | TODO |
## Phase 2 · Excel 与 GUI 核心流程
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-201 | 实现 Excel 表头校验和任务导入 | T-002 | 固定表头可读;缺列报错;空行/非法数量有明确提示 | TODO |
| T-202 | 实现最小 PySide6 主窗口 | T-001 | 有导入按钮、任务表格、日志区域、当前截图区域 | TODO |
| T-203 | 将 Excel 导入接入 GUI 表格 | T-201, T-202 | 导入后展示任务;可勾选;状态列可更新 | TODO |
| T-204 | 实现任务执行器骨架 | T-002, T-203 | 按选中顺序执行模拟任务;支持开始、暂停、取消状态 | TODO |
| T-205 | 接入 Android 单条真实执行流程 | T-105, T-204 | 单条任务可从 GUI 触发并执行到支付前校验和默认暂停 | TODO |
| T-206 | 实现结果 Excel 回写 | T-201, T-204 | 默认生成 `_执行结果.xlsx`;写入状态、订单号、失败原因、时间、截图路径 | TODO |
## Phase 3 · 批量执行与异常处理
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-301 | 实现批量顺序执行 | T-205, T-206 | 只执行勾选任务;逐条更新 GUI 和结果 Excel | TODO |
| T-302 | 实现人工接管与继续 | T-301 | 遇到 `待人工` 可暂停;用户处理后可继续或标记失败 | TODO |
| T-303 | 完善失败分类和截图/UI XML 归档 | T-301 | SKU 失败、设备断开、页面识别失败、安全校验等有明确失败原因 | TODO |
| T-304 | 支持订单号读取或人工录入兜底 | T-302 | 成功后能记录订单号;自动读取失败时可人工录入并回写 | TODO |
| T-305 | 实现受控自动支付开关 | T-304 | 显式开启后仅在二次校验和金额上限通过时继续支付;安全校验转人工 | TODO |
## Phase 4 · 收尾与交付
| ID | 任务 | 依赖 | 验收要点 | 状态 |
| --- | --- | --- | --- | --- |
| T-401 | 完整验收 MVP | T-305 | `02-requirements.md` 的 P0 验收全部通过;真机验证记录写入 `progress.md` 和 `docs/current-state.md` | TODO |
| T-402 | 打包 Windows 可执行程序 | T-401 | 运营电脑可运行;依赖和 ADB 环境说明清楚 | TODO |
| T-403 | 编写运营使用说明 | T-402 | 说明 Excel 格式、连接手机、执行、人工接管、结果文件位置 | TODO |
## 里程碑
- M1:Python 桌面项目地基完成。
- M2:真机控制拼多多核心链路已验证。
- M3:Excel 导入、GUI 展示、单条任务执行和回写完成。
- M4:批量执行、异常处理、人工接管和受控自动支付完成。
- M5:可交付运营试用。
## 待办池(Backlog)
- 多 Android 设备管理和任务调度。
- OCR 兜底识别。
- SQLite 任务库。
- Web 管理后台。
- 结果统计和报表。
- 自动更新程序。