feat: 支持持续自动获取任务 (#45)

This commit is contained in:
chengma
2026-08-09 10:54:18 +08:00
parent 4022feee43
commit 5fd71981e0
4 changed files with 317 additions and 30 deletions
+9 -8
View File
@@ -35,7 +35,7 @@
```text
┌─────────────────────────────────────────────────────────────┐
│ PDD 任务 │
│ [获取任务] [类型▼] [状态▼] [关键词................] [搜索] │
│ [开始自动获取] [类型▼] [状态▼] [关键词............] [搜索] │
├─────────────────────────────────────────────────────────────┤
│ 类型 │ 商品标题 │ 颜色 │ 尺码 │ 价格 │ 数量 │ 状态 │ 更新时间 │详情│
│ │
@@ -50,20 +50,21 @@
## 4. 顶部命令区
### 4.1 获取任务 / 停止获取
### 4.1 开始自动获取 / 停止自动获取
- 使用 `PrimaryPushButton`,是页面唯一主要强调操作。
- 初始文本为“获取任务”,图标表达开始。
- 启动成功后文本变为“停止获取”,按钮位置和宽度尽量稳定。
- 初始文本为“开始自动获取”,图标表达开始。
- 启动成功后文本变为“停止自动获取”,按钮位置和宽度尽量稳定。
- `[必须]` 这两个文案是**按钮标签**。状态栏里的“自动获取:已开启/已停止”说的是**功能状态**,两者不是一回事,不要混改。
- 启动过程中禁用重复点击,显示“正在启动”。
- 停止表示不再领取新任务;当前任务进入安全停止流程。
- 如果设备、Admin 或必要设置无效,按钮可禁用,但附近必须说明缺少的条件。
**当前单任务模式(#32):**按钮文字固定为“获取任务”,每次点击先补交一条本地
Outbox;若无待提交结果则执行最早的本地采集任务,再没有才向 Admin 领取一条。
领取、手机采集和提交都在工作线程完成,运行期间按钮禁用,结束后刷新任务表。
当前不循环领取,也不执行采购任务。
每一轮先补交一条本地 Outbox;若无待提交结果则执行最早的本地采集任务,再没有
才向 Admin 领取一条。领取、手机采集和提交都在单独的工作线程完成,一轮结束且
线程完全退出后,由主线程的单次定时器安排下一轮。暂无任务时默认 5 秒后重试;
可恢复的 Admin 错误按 5、10、20、30 秒退避。需要人工处理、不可恢复错误、设备
或配置错误会停止自动获取。当前仍不执行采购任务。
### 4.2 搜索与筛选