feat(t206): connect Android procurement tasks

This commit is contained in:
QiuSW
2026-07-27 11:11:16 +08:00
parent 9e698c1b6c
commit 45b66eeea7
35 changed files with 2634 additions and 81 deletions
+7 -4
View File
@@ -353,9 +353,9 @@ generation/token 且租约未过期的活跃任务可以读取。成功返回匿
同 key、同请求重放返回同一 execution;错误用户/设备/token 返回 `403`,过期租约、
状态或版本冲突返回 `409`。成功响应包含更新后的 `task`、`execution`、`replayed`
和 `server_time`。T-206 将默认 running lease 从当前 90 秒改为 30 分钟(允许配置
5 至 120 分钟),并显式返回 `execution_expires_at`。该时间是 App 可以离线继续
自动化的上限,不是后台自动重分配时间。
和 `server_time`。默认 running lease 为 30 分钟(允许配置 5 至 120 分钟),
`execution.execution_expires_at` 是 App 可以离线继续自动化的上限,不是后台自动
重分配时间。
### `POST /api/v1/tasks/{task_id}/heartbeat`
@@ -392,7 +392,10 @@ generation/token 且租约未过期的活跃任务可以读取。成功返回匿
只接受 1 至 64 字节的大写 ASCII step。heartbeat 使用服务端 UTC 更新 execution、
设备最近在线时间、任务 version 和 `execution_expires_at`,不写高频任务事件。
App 每 30 秒 best-effort 调用;网络失败时可执行到上一次服务端截止时间。截止时间
过期后拒绝续作,任务保持原非终态且绝不回到领取队列。
到达后 App 持久化 `SAFE_STOPPED` 并停止外部动作,任务保持原非终态且绝不回到
领取队列。原设备重连后可以用同一 execution/claim heartbeat 同步状态;后端不延长
已经过期的授权,且此时只接受 `step=SAFE_STOPPED`。若响应包含取消请求,App 可以
继续调用 `cancel-ack`;没有取消时仍保持安全停止,不自动恢复采购。
### `POST /api/v1/tasks/{task_id}/release`