From 235abb4558823cae3a47056efe0b76f265d6cfef Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Mon, 3 Aug 2026 15:35:31 +0800 Subject: [PATCH] feat(prototype): redesign desktop procurement workspace --- docs/06-tasks.md | 2 +- docs/08-interaction-checklist.md | 15 +- docs/current-state.md | 15 +- docs/design/desk-device-settings.html | 6 +- docs/design/desk-execution.html | 398 ++++++++++++++++++++++---- docs/routes.md | 30 +- docs/tasks/T-006.md | 61 +++- 7 files changed, 438 insertions(+), 89 deletions(-) diff --git a/docs/06-tasks.md b/docs/06-tasks.md index de24c2d..a750cb4 100644 --- a/docs/06-tasks.md +++ b/docs/06-tasks.md @@ -26,7 +26,7 @@ | T-003 | 建立 `init.ps1` 统一入口 | T-001, T-002 | 一条命令完成两端安装与基础验证并打印启动命令;未配置时主动失败而不是静默跳过 | | T-004 | 建立核心数据模型与状态机 | T-001 | `tasks`、`order_authorizations`、`order_submissions` 表与 `04-architecture.md` 一致;状态流转有单元测试;金额用十进制字符串 | | T-005 | 网页端 MVP 交互原型 | - | `docs/design/web-*.html` 单文件假数据原型覆盖登录、表格工作台、创建弹窗、批量开始试选、路由化详情抽屉与完整详情;键盘、窄屏、空态 / 错误 / 加载、围栏后调和状态可演示;经人工确认前保持 `DOING` | -| T-006 | 桌面端 MVP 交互原型 | - | `docs/design/desk-*.html` 单文件假数据原型覆盖采购执行、设备与参数;明确 dry-run / 真实下单、App 版本失配、围栏后不可重试;经人工确认前保持 `DOING` | +| T-006 | 桌面端 MVP 交互原型 | - | `docs/design/desk-*.html` 单文件假数据原型覆盖“采购工具”的采购执行 / 配置固定页签、顶部轮询控制、当前任务图片、滚动日志、时间倒序执行记录和详情弹窗;明确 dry-run / 真实下单、App 版本失配、围栏后不可重试;经人工确认前保持 `DOING` | ### Phase 1 · 真机取证(最高风险,必须先做) diff --git a/docs/08-interaction-checklist.md b/docs/08-interaction-checklist.md index 43833ec..0c59af7 100644 --- a/docs/08-interaction-checklist.md +++ b/docs/08-interaction-checklist.md @@ -24,8 +24,8 @@ IX 编号一经引用不再重用。交互清单不能扩大需求范围。 | IX-004 | US-002 | web `/tasks/{id}` 路由化详情抽屉 / 完整页 | 双击行、任务编号链接或直接进入 | 了解任务当前处境 | 从列表进入时右侧打开且保留现场;直达时显示完整页;按状态呈现唯一主区块与主动作 | P0 | 已定 | | IX-005 | US-004、US-005 | web 试选确认卡 | 查看后点确认 / 退回 | 确认机器选对了并授权 | 签发一次性授权并锁定单价,明确不付款 | P0 | 已定 | | IX-006 | US-006 | web 待付款核对卡 | 查看后手工标记 | 核对后付款 | 展示订单截图与授权信息;人付款后标记完成 | P0 | 已定 | -| IX-007 | US-003 | desk 设备与参数页 | 填 serial → 连接检查 | 让设备就绪 | 连接成功并确认拼多多已安装 | P0 | 已定 | -| IX-008 | US-003、US-008 | desk 采购执行页 | 开始 / 停止轮询 | 让手机自动跑并处理异常 | 待人工时显著提示缺什么;连续失败自动停 | P0 | 已定 | +| IX-007 | US-003 | desk 配置页 | 填 serial → 连接检查 | 让设备就绪 | 连接成功并确认拼多多已安装 | P0 | 已定 | +| IX-008 | US-003、US-008 | desk 采购执行页 | 顶部开始 / 停止轮询;查看执行记录 | 让手机自动跑并处理异常 | 三块工作区保留当前任务、滚动日志和时间倒序记录;待人工时显著提示缺什么;连续失败自动停 | P0 | 已定 | | IX-010 | US-005 | web 围栏前放弃授权入口 | 点击放弃 | 解开尚未提交的授权 | 授权作废,任务转待重新试选 | P0 | 已定 | | IX-011 | US-005、US-008 | web / desk 提交围栏与调和状态 | 真实点击前申请围栏;点击后回报 | 防止断网或重复操作产生第二笔订单 | 围栏前失败不点击;围栏后不明确只核查、不重试 | P0 | 已定 | | IX-012 | US-010 | web `/tasks` 表格选择与上下文批量栏 | 勾选后点「开始试选」 | 批量交给桌面端试选 | `DRAFT → PENDING` 原子提交;仅开始第一趟,不授权、不下单、不付款 | P0 | 已定 | @@ -109,23 +109,28 @@ IX 编号一经引用不再重用。交互清单不能扩大需求范围。 ### IX-008 桌面端定时轮询与人工接管 - 关联用户故事:US-003、US-008 | 关联需求:F-005、F-011 -- 页面 / 组件:desk 采购执行页 `PollControls` + `DeviceStatusBar` +- 页面 / 组件:desk 采购执行页 `PollControls` + `DeviceStatusBar` + `CurrentTaskPanel` + + `ExecutionLog` + `ExecutionRecordTable` / `ExecutionRecordDialog` - 目标角色:采购执行员 - 前置条件:web 端连接正常;设备已通过连接检查 **正常路径** -1. 用户确认两个连接状态都为绿,点击「开始轮询」。 +1. 用户确认 web、设备和已取证 App 版本三项状态都就绪,在顶部状态区点击「开始轮询」。 2. 每到间隔时间领取一条任务,界面显示**这一趟是试选还是下单**、商品、规格、当前步骤。 3. 第一趟试选完成后**退出商品页释放手机**,继续下一轮轮询。 +4. 执行结果按时间倒序进入右侧两列表格;单击只选中,双击、Enter 或可见查看命令打开记录 + 详情,关闭后焦点回到原行。 **状态与异常清单** | 场景 | 本交互约定 | | --- | --- | -| 默认 | 任一连接未就绪时「开始轮询」禁用并说明是哪一个 | +| 默认 | 任一就绪条件不满足时「开始轮询」禁用,并说明是 web、设备还是 App 版本问题 | | 轮询中 | 显示下次轮询倒计时与连续失败计数 | | 执行中 | 显示当前趟次与步骤;**真机步骤期间禁用硬取消和关闭窗口** | +| 当前任务图片 | 无可信图片时显示空态;有图时标来源与采集时间,不用其他来源图片凑合 | +| 执行记录详情 | 左侧原始文字、右侧图片证据、下方结构化采购结果;不提供下单、重试提交或付款动作 | | 无可领任务 | 显示「暂无待领任务」并继续下一轮,**不当作错误、不计入失败计数** | | 待人工 | 整页显著变色,说明缺什么、下一步做什么;该任务不再被本端领取 | | 连续失败 | 达到阈值自动停止轮询并显示原因,**不无限重试** | diff --git a/docs/current-state.md b/docs/current-state.md index dd010e3..fa68646 100644 --- a/docs/current-state.md +++ b/docs/current-state.md @@ -22,8 +22,8 @@ - 标准启动路径:`./init.ps1`(Windows)/ `./init.sh`。已存在但会因两端目录未初始化而以 退出码 3 结束并列出待办任务——这是预期行为 - 标准验证路径:目前只有 `python scripts/validate_agent_context.py` 可跑通 -- 当前 blocker:T-005 第二轮表格工作台修订和 T-006 均已通过自动检查;两者经人工确认前 - 不开始对应生产 UI。 +- 当前 blocker:T-005 第二轮 Web 表格工作台和 T-006 第二轮“采购工具”桌面工作区均已通过 + 自动检查;两者经人工确认前不开始对应生产 UI。 ## 当前目录要点 @@ -31,7 +31,7 @@ | --- | --- | --- | | `docs/` | 已有 | 项目规范化文档,本次已完整生成 | | `docs/tasks/` | 已有(2 个活动任务) | T-005 / T-006 均为 `DOING`,含 `README.md` 与 `_template.md` | -| `docs/design/` | 已有(6 个原型) | web 登录 / 建单 / 工作台 / 详情,desk 执行 / 设备参数;待人工确认 | +| `docs/design/` | 已有(6 个原型) | web 登录 / 建单 / 工作台 / 详情,desk 采购执行 / 配置;待人工确认 | | `scripts/` | 已有 | `validate_agent_context.py` | | `web/` | **待建** | Go 后端与管理页面(T-001) | | `desk/` | **待建** | Python 桌面端(T-002) | @@ -43,10 +43,11 @@ - 已完成:无。 - 正在进行:T-005(网页端 MVP 交互原型)、T-006(桌面端 MVP 交互原型)。T-005 第二轮 - 已将三泳道改为传统表格,并增加创建弹窗、`DRAFT` 批量开始试选和路由化详情抽屉;两项 - 自动验证均已完成。两个任务都因 `needs_human_review: true` 保持 `DOING`。 -- **下一步:人工浏览 6 个原型,重点确认 Web 表格字段、批量开始试选、创建弹窗、详情抽屉 - 与安全文案,以及桌面端执行状态。** 明确确认后才能把 T-005 / T-006 改为 `DONE`。 + 已将三泳道改为传统表格;T-006 第二轮已改为“采购工具”的采购执行 / 配置固定页签,并增加 + 顶部轮询控制、当前任务图片、滚动日志、执行记录表格和详情弹窗。两项自动验证均已完成, + 都因 `needs_human_review: true` 保持 `DOING`。 +- **下一步:人工浏览 6 个原型,重点确认 Web 表格与详情抽屉,以及桌面端顶部状态区、三块 + 布局、图片证据、两列执行记录和详情弹窗。** 明确确认后才能把 T-005 / T-006 改为 `DONE`。 - 原型使用假数据、不调用真实接口、不驱动真机;T-001 / T-002 骨架可在确认后并行, Phase 2 生产页面还必须等待相关真机结论。 diff --git a/docs/design/desk-device-settings.html b/docs/design/desk-device-settings.html index 8ef445f..757c357 100644 --- a/docs/design/desk-device-settings.html +++ b/docs/design/desk-device-settings.html @@ -4,7 +4,7 @@ -
可以开始定时轮询。当前页面不会连接真实设备。
只显示当前前台会话,不代表后台进程
最新事件在上;不含凭据、地址、手机号或页面全文
假日志;不含凭据、地址、手机号或页面全文
0 条假记录 · 按采集时间倒序
单击选择;双击行、按 Enter 或使用“查看所选记录”打开详情。右键也可查看。