--- id: T-202 title: 生成并确认 P0 Web/App 低保真原型 phase: 2 deps: - T-104 status: DONE created: 2026-07-25 context_ref: ab21219a07630b705f3eb681d32b97d9ab49188b work_branch: main write_paths: - docs/design/** - docs/08-interaction-checklist.md - docs/routes.md - docs/current-state.md - docs/00-ai-start-here.md - docs/tasks/T-202.md - progress.md --- ## 问题 / 背景 Android 已验证到人工确认点,Go-Gin 后端骨架也已建立,但管理 Web 与采购 App 的 P0 页面还没有经过人工确认。若直接实现正式 UI,页面区块、控件集合、状态反馈和 主要动作可能在开发期间反复变化,并增加 T-203、T-204 和 T-206 的返工。 ## 关联需求与交互 - 功能:F-001 至 F-007。 - 用户故事:US-001 至 US-007。 - 交互:IX-001 至 IX-008。 - 页面:管理 Web 4 条 P0 路由;Android 7 个 P0 逻辑目的地。 - 架构/API:`docs/routes.md`、`docs/api.md`、`docs/04-architecture.md`。 ## 方案 1. 在 `docs/design/` 生成零构建依赖、可独立打开的 HTML 原型,使用完全脱敏的假数据。 2. 管理 Web 覆盖登录、任务列表、新建任务和任务详情;Android 覆盖登录、任务主页、 任务预览、执行、候选确认、结果和设置。 3. 原型提供可点击的主要命令和状态切换,用于确认区块、控件、文案和安全边界,不连接 API、不读取本地私有样本,也不作为正式 UI 代码复用。 4. 使用 Playwright 在桌面和手机视口验证页面可打开、关键交互可触发、无水平溢出或 明显遮挡。 5. 用户实际查看并明确确认后,才把本任务改为 `DONE`、同步 IX 原型链接并提交 Git。 ## 验收要点 - [x] 4 个管理 Web P0 路由均有可独立打开的原型页面。 - [x] 7 个 Android P0 逻辑目的地均在手机尺寸原型中可到达。 - [x] IX-001 至 IX-008 的正常路径、关键异常和主要命令可被确认。 - [x] 所有页面固定显示“仅供确认”的原型标记,且不含真实订单、账号、图片或路径。 - [x] 任务执行页没有虚假百分比;安全错误不提供自动继续。 - [x] 候选确认页明确展示 `order_submitted=false` 对应的人类文案。 - [x] 桌面和移动视口无水平溢出、控件遮挡或不可达主要操作。 - [x] 用户已人工确认页面区块、控件集合、文案和主要动作。 ## 边界 - 不实现正式 Web 框架、Compose/Fragment 页面或任何 API 对接。 - 不修改 Android 自动化、VLM、后端业务表、鉴权或任务接口。 - 不使用真实商品、订单、店铺、账号、设备标识、token 或生产 URL。 - 不在人工确认前标记完成或提交 Git。 ## 执行记录 ### 2026-07-25:任务开始 - 基于提交 `ab21219` 开始。 - 已核对 `docs/routes.md` 的 4 个管理 Web 路由、7 个 Android 目的地,以及 IX-001 至 IX-008 的正常、异常与可访问性要求。 - 当前先生成原型和自动化验证;人工确认是完成本任务的硬门禁。 ### 2026-07-25:原型生成与自动验收 - 生成 `docs/design/index.html`、4 个管理 Web 页面和 7 个 Android 页面;每个实际 页面均可通过 `file://` 独立打开,CSS/JS 全内联且没有外部依赖。 - Web 覆盖登录、任务创建、列表/详情、加载/空/失败/权限、取消二次确认、证据失败 和“验证完成,未提交订单”;Android 覆盖登录绑定、手动领取、预览、执行、安全 停止、人工结论、终态、待同步和设备设置。 - 需求审计确认 11 个逻辑页面均已覆盖,并发现 `docs/02-requirements.md` 的 F-001 至 F-003 单任务验收引用存在 3 处历史编号错误;该文件不在本任务写入边界,本次 不越界修改。 - 静态审计:12 个 HTML 均只有 1 个固定原型标记、1 个内联 style、0 个外部 script、 0 个 HTTP URL,未命中本机绝对路径、生产地址、令牌、密钥或私有样本关键词。 - Playwright 依次以 1440×900、390×844、360×800 打开 12 个页面,共 36 个 页面/视口组合:文档横向溢出 0、console error 0、page error 0、外部请求 0; Android 可见按钮、链接、输入、选择和文本域小于 44px 的数量为 0。 - Playwright 交互验证通过:Web 首错焦点、通用登录错误、数量默认 1、未提交离开 和取消二次确认默认焦点;App 缺权限/已有任务/租约释放、安全错误无自动继续、 停止确认默认焦点、超预算禁用接受、无候选动作约束、人员结论回传、结果待同步及 活跃任务禁止退出。 - 实际截图复核索引、管理详情、候选确认、安全错误和设备设置;修复任务详情成功态 被 CSS 错误显示取消命令与证据错误占位的问题,复核后两者均不可见。 ### 2026-07-26:人工确认与完成 - 用户在对话中明确回复“确认 T-202 原型”,确认当前页面区块、控件集合、文案和 主要动作可作为后续正式 UI 的实现输入。 - 最后一项人工门禁已满足,任务状态改为 `DONE`;后续显著改变布局或控件集合时, 必须按 `docs/design/README.md` 重新生成整页并再次确认。