docs: 排除蝦皮原始报表,并同步主按钮文案

raw_data 不进 Git
原始报表含逐商品台币销售额等商业数据,进了 Git 就是永久历史。
- .gitignore 排除 raw_data/
- 改掉三处"仓库里有一份样本"的失真表述,改为向项目负责人索取
- 06 §2.1 相应加强:既然大样本不进库,admin/testdata/ 下的脱敏小样本
  就必须提交,否则别人拉下来测试跑不了;并写明脱敏做法

主按钮文案 开始自动获取 → 获取任务 ⇄ 停止获取
只改按钮标签。"自动获取"作为功能名保留(状态栏、Tab 顺序、
协调器开关等处不动),05 §4.1 加了一句说明两者不是一回事。

已知遗留:pdd_ui.py 自身仍不一致——构造时用「获取任务」,
但状态机 485/487 行仍是「开始自动获取」/「停止自动获取」,
会覆盖掉构造时的文字。该文件有未提交改动,本次未触碰,
差异已记入 02 §3.1,需另开工单修。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
chengma
2026-08-06 15:58:09 +08:00
co-authored by Claude Opus 5
parent ed663904bb
commit 4f920f9d8b
10 changed files with 43 additions and 20 deletions
+2 -2
View File
@@ -83,8 +83,8 @@ Client 应执行:
### 5.1 顶部命令区
- “开始自动获取”是持续任务引擎的主操作,启动后切换为“停止自动获取”。
- 停止自动获取只停止领取新任务;当前任务应运行到安全停止点。
- “获取任务”是持续任务引擎的主操作,启动后按钮文字切换为“停止获取”。
- 停止只停止领取新任务;当前任务应运行到安全停止点。
- 搜索条件至少支持任务类型、任务状态和关键词。
- 关键词搜索任务编号、商品编号和商品标题。
- “搜索”只查询本地数据库,不触发任务执行。
+2 -2
View File
@@ -89,7 +89,7 @@ client/
| 主窗口文件 | `src/ui/main_window.py` | `src/ui_main.py` |
| 目录分层 | domain / application / infrastructure / workers / ui | 只有 `src/`、`src/util/`、`src/demo1/` |
| PDD 任务页 | 任务表格 + 搜索 + 状态栏 | 单个商品的输入表单(链接/颜色/尺码 + 开始按钮) |
| 主按钮文案 | 「开始自动获取」 | 「开始任务」 |
| 主按钮文案 | 「获取任务」⇄「停止获取」 | 构造时是「获取任务」,但状态机(`pdd_ui.py` 485/487 行)仍写着「开始自动获取」/「停止自动获取」,会覆盖掉,**待修** |
| 页面与事件层 | `ui/` 下按页面分文件 | `src/pdd_ui.py`、`src/pdd_ui_event.py`、`src/settings_ui.py`、`src/settings_ui_event.py`,目前只有约束 docstring,尚无实现 |
| SQLite / Admin / Outbox / 任务协调器 | 见 §4 | 尚未实现 |
| PDD 自动化 | `infrastructure/pdd/` 适配层 | `src/util/` 下的独立函数 + `src/demo1/auto_v1.py` 演示脚本 |
@@ -151,7 +151,7 @@ Qt 主线程
- `[必须]` QWidget 只能在 Qt 主线程创建和访问。
- `[必须]` 一个 Android 设备由一个工作线程独占,不跨线程共享 uiautomator2 Device 对象。
- `[必须]` 后台信号只传递不可变数据、稳定编号或轻量视图模型。
- `[必须]` 停止自动获取时停止领取新任务,当前任务在定义的安全点退出。
- `[必须]` 点“停止获取”后不再领取新任务,当前任务在定义的安全点退出。
- `[建议]` 关闭窗口时应选择停止、等待或后台继续;MVP 默认安全停止并持久化状态。
### 5.1 Worker 模板(项目统一写法,照抄即可)
+7 -6
View File
@@ -9,7 +9,7 @@
## 1. 设计目标
- 让操作人员在一个页面完成任务监控、搜索和异常定位。
- 界面上只有一个会产生外部后果的命令:“开始自动获取”。其余操作全部只读本地数据库。
- 界面上只有一个会产生外部后果的命令:“获取任务”。其余操作全部只读本地数据库。
- 长任务状态始终可找到,不使用连续模态弹窗打断工作。
- 任务表格在数据增长后仍保持响应速度、稳定选择和可访问性。
- 界面只展示任务状态,不在 Qt 主线程执行 Admin 或手机自动化。
@@ -35,7 +35,7 @@
```text
┌─────────────────────────────────────────────────────────────┐
│ PDD 任务 │
│ [开始自动获取] [类型▼] [状态▼] [关键词............] [搜索] │
│ [获取任务] [类型▼] [状态▼] [关键词................] [搜索] │
├─────────────────────────────────────────────────────────────┤
│ 类型 │ 商品标题 │ 颜色 │ 尺码 │ 价格 │ 数量 │ 状态 │ 更新时间 │详情│
│ │
@@ -50,11 +50,12 @@
## 4. 顶部命令区
### 4.1 开始/停止自动获取
### 4.1 获取任务 / 停止获取
- 使用 `PrimaryPushButton`,是页面唯一主要强调操作。
- 初始文本为“开始自动获取”,图标表达开始。
- 启动成功后文本变为“停止自动获取”,按钮位置和宽度尽量稳定。
- 初始文本为“获取任务”,图标表达开始。
- 启动成功后文本变为“停止获取”,按钮位置和宽度尽量稳定。
- `[必须]` 这两个文案是**按钮标签**。状态栏里的“自动获取:已开启/已停止”说的是**功能状态**,两者不是一回事,不要混改。
- 启动过程中禁用重复点击,显示“正在启动”。
- 停止表示不再领取新任务;当前任务进入安全停止流程。
- 如果设备、Admin 或必要设置无效,按钮可禁用,但附近必须说明缺少的条件。
@@ -100,7 +101,7 @@
- “详情”使用委托或链接语义,不为每行创建常驻 QWidget。
- 空状态要分情况,文案不能一样:
- 加载中;
- **从没领取过任务** —— “还没有领取过任务,点击‘开始自动获取’开始领取”(不要写“暂无数据”,操作人员会以为是出错了);
- **从没领取过任务** —— “还没有领取过任务,点击‘获取任务’开始领取”(不要写“暂无数据”,操作人员会以为是出错了);
- 筛选无结果 —— 提供清除条件入口;
- Admin 离线 —— 本地数据照常显示,只在信息条说明领取失败;
- 加载失败。