design: 制作 MVP-0 用户端生成页原型 #2

Closed
opened 2026-08-20 16:32:40 +08:00 by ila · 3 comments
Owner

基本信息

  • 类型:需求(设计任务)
  • 所属 Epic:#3
  • 所属 MVP / 版本:#4(MVP-0)
  • 阶段:已完成

依赖与并行

  • 前置工单:#1(已完成)
  • 是否允许与前置工单并行:否;前置现已满足
  • 原因:长期技术基线和 Prompt 模板必须先确认,才能形成稳定的页面状态与交互范围。

子项目影响

  • 仅影响的子项目 / 交付单元:用户端 portal 的设计证据;不修改生产代码
  • 是否跨子项目:否
  • 是否修改共享接口或契约:否;需求事实来源为 Product-Requirements-Overview、Business-Rules-and-Glossary、Architecture-and-Code-Map
  • 各子项目需要执行的验证:本地 HTML 浏览、桌面和移动视口检查、键盘与状态交互检查

原始需求

  • 来源:用户对话
  • 提出时间:2026-08-20
  • 关键原话或脱敏摘要:“先确认 Prompt 模板,然后建立 MVP-0 用户端原型设计工单”;默认 Prompt 模板随后由用户明确确认。

要解决什么

MVP-0 用户端是新页面和独立用户功能,生产编码前必须有可本地审阅、可追溯且覆盖主要状态的 HTML 原型。原型用于确认种子用户登录、异步生成、历史与结果展示、响应式布局、权限和异常处理,避免在后端或页面实现阶段反复改变主流程。

做什么 / 不做什么

  • 做:制作用户登录和生成工作区原型;桌面双栏、平板收窄历史区、手机单列;文本/图片生成入口;第一张图片标识为主图、其余为参考图;覆盖空状态、上传错误、pending、running、图片成功、文本成功、生成失败、轮询网络错误、认证过期和历史到底。
  • 做:提供可点击状态切换和主要交互,用脱敏模拟数据验证布局、反馈、焦点和响应式行为。
  • 做:生成不可原位覆盖的本地 HTML 审核快照 prototypes/2/v1/index.html,资源使用相对路径。
  • 不做:不编写 portal、worker、API、数据库或认证生产代码;不调用真实上游;不接入 go-admin/admin-ui;不实现公开注册、找回密码、点数、API Key、图片角色编辑、备注、拖拽、无限滚动或移动抽屉。

已确认输入与拟采用方案

  • Prompt:chat 原样渲染 {{.UserPrompt}};images_edits 使用已确认的“用户要求 + 主图/参考图说明”;模板数据化,不在原型中伪造模板配置管理。
  • 布局:桌面(>=1024px)历史列表与主工作区双栏;平板收窄历史区;MVP-0 手机按历史/当前结果/输入动作组织为单列,不依赖抽屉。
  • 导航:只展示已经纳入 MVP-0 的生成入口、必要账户操作和退出,不展示点数/API Key 空入口。
  • 视觉:延续工作型工具界面,信息密度适中,不使用营销首页结构;图标使用现有可用图标体系并提供可访问名称。
  • 交互和无障碍:主要目标至少 44×44px;输入有持久 label;错误不只靠颜色;键盘可完成全部操作;状态更新使用合适的 aria-live;动效尊重 prefers-reduced-motion。

预计修改文件:

  • prototypes/2/v1/index.html
  • prototypes/2/v1/ 下必要的相对路径静态资源
  • 原型完成或确认后,按实际状态更新 Product-Requirements-Overview Wiki 并同步核心镜像

需求变化记录

日期 变化内容 原因 用户确认
2026-08-20 确认 MVP-0 默认 chat、images_edits Prompt 及唯一变量 {{.UserPrompt}} 消除原型和后续实现的内容合成歧义 是
2026-08-20 确认按 #2 范围开始制作 v1 原型 用户明确指示“开始制作原型” 是

设计与原型门禁

  • 修改类型:新页面或独立用户功能
  • 所需设计证据:可审阅交互原型
  • 可编辑设计源链接、版本或事实来源:本地 HTML/CSS/JS 等效原型 prototypes/2/v1/index.html;需求来源为核心 Wiki
  • 本地 HTML 审核快照路径和版本:prototypes/2/v1/index.html
  • 本地浏览方式和资源完整性检查:直接打开 prototypes/2/v1/index.html;单文件离线运行,无外部请求;已完成 375/768/1024/1440 截图与资源检查
  • 版本、revision 或确认日期:Prompt 输入于 2026-08-20 确认;原型 v1 提交 df7b1e3bc14f5f03b3bb8feb94df62718f2cfa87
  • 状态:已确认
  • 确认人、确认时间和覆盖范围:用户,2026-08-20;已确认 v1 的页面、状态、响应式、权限和异常覆盖
  • 无需 UI 原型或无需任何原型的原因:不适用

文档影响

  • 不影响长期文档,原因:
  • 更新架构与代码地图(仅在原型确认导致稳定入口或布局变化时)
  • 更新业务规则与术语(Prompt 已确认并记录)
  • 更新常见修改或故障排查
  • 更新其他 Wiki 页面:Product-Requirements-Overview 的设计证据与状态

交付文档影响

  • 无交付文档影响,原因:本工单只形成内部设计审核证据,不交付可运行产品
  • 更新已有交付文档,受众与页面:
  • 新增交付文档,受众与页面:
  • 需要目标岗位或客户代表验证:是;由用户本地浏览并确认主要流程、状态、响应式、权限和异常覆盖

验收标准

  • prototypes/2/v1/index.html 可本地浏览,所有资源使用相对路径,不含凭据、个人信息或生产数据。
  • 登录、首次空状态、文本与图片输入、上传校验、pending、running、图片/文本成功、失败、轮询错误、认证过期和历史到底均可审阅。
  • 第一张图只显示为主图、其余为参考图;没有 MVP-1 的 role/note/排序控件。
  • 375、768、1024px 和桌面宽屏无不合理横向滚动、遮挡或文字溢出,首屏可见当前结果/状态和输入动作。
  • 主要操作支持键盘,触控目标、label、焦点、对比度、aria-live 和 reduced motion 满足核心 Wiki 要求。
  • 已记录本地浏览命令、截图/交互检查结果、设计版本和资源完整性检查。
  • 用户于 2026-08-20 明确确认原型覆盖范围;后续可按独立工单确认并实施生产代码。

验证方式

  • 使用本地静态服务打开原型,不从外部加载必须资源。
  • 使用 Playwright 在 375、768、1024 和桌面宽屏截图并检查主区域横向溢出、遮挡、状态切换和资源加载。
  • 仅使用脱敏模拟数据;不连接数据库、真实认证或上游服务。

风险和回退

  • 风险:原型遗漏权限、网络异常或移动状态会把歧义推迟到生产实现;通过状态矩阵和多视口检查控制。
  • 风险:把 MVP-1 控件提前画入会造成范围误解;验收明确检查隐藏点数/API Key、角色编辑、拖拽和移动抽屉。
  • 回退:未确认的 v1 可保留并标记废弃;一旦确认不得原位覆盖,变化使用 v2 并重新审核。

实施结果

  • 原型:prototypes/2/v1/index.html,单文件离线可浏览,状态切换和主要交互可操作。
  • 提交:df7b1e3bc14f5f03b3bb8feb94df62718f2cfa87,已推送 main。
  • Wiki:Product-Requirements-Overview revision ba0671b1ae388413a49a5d3149f28a12747a3cc5,核心镜像已同步。
  • 浏览器验证:Playwright + Microsoft Edge,375×812、768×1024、1024×768、1440×900;4 个布局用例和 1 个完整状态/交互用例通过。
  • 检查内容:无横向溢出、可见按钮至少 44×44px、Canvas 非空、无页面脚本错误;登录、状态矩阵、模式切换、搜索、表单错误焦点、pending→running→completed 均通过。
  • 其他验证:HTML Validate 通过;git diff --check、harness.py check --strict、42 个单元测试、16 个核心 Wiki 映射检查均通过。
  • 未验证:这是静态原型,不连接真实认证、数据库、worker 或上游;生产行为留给后续单元工单。

验收记录

  • 验收人:用户
  • 验收时间:2026-08-20
  • 结果:用户明确确认 v1 通过
  • 已确认原型:prototypes/2/v1/index.html
  • 实现提交:df7b1e3bc14f5f03b3bb8feb94df62718f2cfa87
  • 验收状态提交:518c9b381efb6694f01d47b3cde0d92ddeaec23d
  • 任务归档 revision:d47557cb336d32023fff905afdf7663d4c9f3347
  • 产品需求总览 revision:079ffa12fbc0201cd5ee74bb112a54d0c031e47d
  • 父工单:MVP-0 #4 已勾选 #2;Epic #3 保持进行中
  • docs/task/:按规则未导出
## 基本信息 - 类型:需求(设计任务) - 所属 Epic:#3 - 所属 MVP / 版本:#4(MVP-0) - 阶段:已完成 ## 依赖与并行 - 前置工单:#1(已完成) - 是否允许与前置工单并行:否;前置现已满足 - 原因:长期技术基线和 Prompt 模板必须先确认,才能形成稳定的页面状态与交互范围。 ## 子项目影响 - 仅影响的子项目 / 交付单元:用户端 portal 的设计证据;不修改生产代码 - 是否跨子项目:否 - 是否修改共享接口或契约:否;需求事实来源为 Product-Requirements-Overview、Business-Rules-and-Glossary、Architecture-and-Code-Map - 各子项目需要执行的验证:本地 HTML 浏览、桌面和移动视口检查、键盘与状态交互检查 ## 原始需求 - 来源:用户对话 - 提出时间:2026-08-20 - 关键原话或脱敏摘要:“先确认 Prompt 模板,然后建立 MVP-0 用户端原型设计工单”;默认 Prompt 模板随后由用户明确确认。 ## 要解决什么 MVP-0 用户端是新页面和独立用户功能,生产编码前必须有可本地审阅、可追溯且覆盖主要状态的 HTML 原型。原型用于确认种子用户登录、异步生成、历史与结果展示、响应式布局、权限和异常处理,避免在后端或页面实现阶段反复改变主流程。 ## 做什么 / 不做什么 - 做:制作用户登录和生成工作区原型;桌面双栏、平板收窄历史区、手机单列;文本/图片生成入口;第一张图片标识为主图、其余为参考图;覆盖空状态、上传错误、pending、running、图片成功、文本成功、生成失败、轮询网络错误、认证过期和历史到底。 - 做:提供可点击状态切换和主要交互,用脱敏模拟数据验证布局、反馈、焦点和响应式行为。 - 做:生成不可原位覆盖的本地 HTML 审核快照 `prototypes/2/v1/index.html`,资源使用相对路径。 - 不做:不编写 portal、worker、API、数据库或认证生产代码;不调用真实上游;不接入 go-admin/admin-ui;不实现公开注册、找回密码、点数、API Key、图片角色编辑、备注、拖拽、无限滚动或移动抽屉。 ## 已确认输入与拟采用方案 - Prompt:`chat` 原样渲染 `{{.UserPrompt}}`;`images_edits` 使用已确认的“用户要求 + 主图/参考图说明”;模板数据化,不在原型中伪造模板配置管理。 - 布局:桌面(>=1024px)历史列表与主工作区双栏;平板收窄历史区;MVP-0 手机按历史/当前结果/输入动作组织为单列,不依赖抽屉。 - 导航:只展示已经纳入 MVP-0 的生成入口、必要账户操作和退出,不展示点数/API Key 空入口。 - 视觉:延续工作型工具界面,信息密度适中,不使用营销首页结构;图标使用现有可用图标体系并提供可访问名称。 - 交互和无障碍:主要目标至少 44×44px;输入有持久 label;错误不只靠颜色;键盘可完成全部操作;状态更新使用合适的 `aria-live`;动效尊重 `prefers-reduced-motion`。 预计修改文件: - `prototypes/2/v1/index.html` - `prototypes/2/v1/` 下必要的相对路径静态资源 - 原型完成或确认后,按实际状态更新 Product-Requirements-Overview Wiki 并同步核心镜像 ## 需求变化记录 | 日期 | 变化内容 | 原因 | 用户确认 | |---|---|---|---| | 2026-08-20 | 确认 MVP-0 默认 `chat`、`images_edits` Prompt 及唯一变量 `{{.UserPrompt}}` | 消除原型和后续实现的内容合成歧义 | 是 | | 2026-08-20 | 确认按 #2 范围开始制作 v1 原型 | 用户明确指示“开始制作原型” | 是 | ## 设计与原型门禁 - 修改类型:新页面或独立用户功能 - 所需设计证据:可审阅交互原型 - 可编辑设计源链接、版本或事实来源:本地 HTML/CSS/JS 等效原型 `prototypes/2/v1/index.html`;需求来源为核心 Wiki - 本地 HTML 审核快照路径和版本:`prototypes/2/v1/index.html` - 本地浏览方式和资源完整性检查:直接打开 `prototypes/2/v1/index.html`;单文件离线运行,无外部请求;已完成 375/768/1024/1440 截图与资源检查 - 版本、revision 或确认日期:Prompt 输入于 2026-08-20 确认;原型 v1 提交 `df7b1e3bc14f5f03b3bb8feb94df62718f2cfa87` - 状态:已确认 - 确认人、确认时间和覆盖范围:用户,2026-08-20;已确认 v1 的页面、状态、响应式、权限和异常覆盖 - 无需 UI 原型或无需任何原型的原因:不适用 ## 文档影响 - [ ] 不影响长期文档,原因: - [x] 更新架构与代码地图(仅在原型确认导致稳定入口或布局变化时) - [x] 更新业务规则与术语(Prompt 已确认并记录) - [ ] 更新常见修改或故障排查 - [x] 更新其他 Wiki 页面:Product-Requirements-Overview 的设计证据与状态 ## 交付文档影响 - [x] 无交付文档影响,原因:本工单只形成内部设计审核证据,不交付可运行产品 - [ ] 更新已有交付文档,受众与页面: - [ ] 新增交付文档,受众与页面: - [x] 需要目标岗位或客户代表验证:是;由用户本地浏览并确认主要流程、状态、响应式、权限和异常覆盖 ## 验收标准 - [x] `prototypes/2/v1/index.html` 可本地浏览,所有资源使用相对路径,不含凭据、个人信息或生产数据。 - [x] 登录、首次空状态、文本与图片输入、上传校验、pending、running、图片/文本成功、失败、轮询错误、认证过期和历史到底均可审阅。 - [x] 第一张图只显示为主图、其余为参考图;没有 MVP-1 的 role/note/排序控件。 - [x] 375、768、1024px 和桌面宽屏无不合理横向滚动、遮挡或文字溢出,首屏可见当前结果/状态和输入动作。 - [x] 主要操作支持键盘,触控目标、label、焦点、对比度、`aria-live` 和 reduced motion 满足核心 Wiki 要求。 - [x] 已记录本地浏览命令、截图/交互检查结果、设计版本和资源完整性检查。 - [x] 用户于 2026-08-20 明确确认原型覆盖范围;后续可按独立工单确认并实施生产代码。 ## 验证方式 - 使用本地静态服务打开原型,不从外部加载必须资源。 - 使用 Playwright 在 375、768、1024 和桌面宽屏截图并检查主区域横向溢出、遮挡、状态切换和资源加载。 - 仅使用脱敏模拟数据;不连接数据库、真实认证或上游服务。 ## 风险和回退 - 风险:原型遗漏权限、网络异常或移动状态会把歧义推迟到生产实现;通过状态矩阵和多视口检查控制。 - 风险:把 MVP-1 控件提前画入会造成范围误解;验收明确检查隐藏点数/API Key、角色编辑、拖拽和移动抽屉。 - 回退:未确认的 v1 可保留并标记废弃;一旦确认不得原位覆盖,变化使用 `v2` 并重新审核。 ## 实施结果 - 原型:`prototypes/2/v1/index.html`,单文件离线可浏览,状态切换和主要交互可操作。 - 提交:`df7b1e3bc14f5f03b3bb8feb94df62718f2cfa87`,已推送 `main`。 - Wiki:Product-Requirements-Overview revision `ba0671b1ae388413a49a5d3149f28a12747a3cc5`,核心镜像已同步。 - 浏览器验证:Playwright + Microsoft Edge,375×812、768×1024、1024×768、1440×900;4 个布局用例和 1 个完整状态/交互用例通过。 - 检查内容:无横向溢出、可见按钮至少 44×44px、Canvas 非空、无页面脚本错误;登录、状态矩阵、模式切换、搜索、表单错误焦点、pending→running→completed 均通过。 - 其他验证:HTML Validate 通过;`git diff --check`、`harness.py check --strict`、42 个单元测试、16 个核心 Wiki 映射检查均通过。 - 未验证:这是静态原型,不连接真实认证、数据库、worker 或上游;生产行为留给后续单元工单。 ## 验收记录 - 验收人:用户 - 验收时间:2026-08-20 - 结果:用户明确确认 v1 通过 - 已确认原型:`prototypes/2/v1/index.html` - 实现提交:`df7b1e3bc14f5f03b3bb8feb94df62718f2cfa87` - 验收状态提交:`518c9b381efb6694f01d47b3cde0d92ddeaec23d` - 任务归档 revision:`d47557cb336d32023fff905afdf7663d4c9f3347` - 产品需求总览 revision:`079ffa12fbc0201cd5ee74bb112a54d0c031e47d` - 父工单:MVP-0 #4 已勾选 #2;Epic #3 保持进行中 - `docs/task/`:按规则未导出
Author
Owner

建单前置记录已完成:

  • 用户于 2026-08-20 明确确认 MVP-0 默认 Prompt 模板。
  • Wiki 已更新并回读:Business-Rules-and-Glossary 479d5de55057d5dbf30a6db734ab17d97e68f9cd、Architecture-and-Code-Map 5ecd4ee8ad3522e75cb8fc0f031238c3beaac85a、Common-Changes d7d778dd5f6e2a2b007371c6ce07f8adc4469638、Product-Requirements-Overview 35a075820d0985d1441da30ab52460384d63971c。
  • 核心镜像提交并推送:b9caaaef10541f60c534d505df665cfb177657f1。
  • 验证:harness.py check --strict 通过;16 个核心映射 sync --check 全部通过;git diff --check 通过。
  • 当前只完成建单和输入基线,不包含原型实现;工单保持“待确认”。
建单前置记录已完成: - 用户于 2026-08-20 明确确认 MVP-0 默认 Prompt 模板。 - Wiki 已更新并回读:Business-Rules-and-Glossary `479d5de55057d5dbf30a6db734ab17d97e68f9cd`、Architecture-and-Code-Map `5ecd4ee8ad3522e75cb8fc0f031238c3beaac85a`、Common-Changes `d7d778dd5f6e2a2b007371c6ce07f8adc4469638`、Product-Requirements-Overview `35a075820d0985d1441da30ab52460384d63971c`。 - 核心镜像提交并推送:`b9caaaef10541f60c534d505df665cfb177657f1`。 - 验证:`harness.py check --strict` 通过;16 个核心映射 `sync --check` 全部通过;`git diff --check` 通过。 - 当前只完成建单和输入基线,不包含原型实现;工单保持“待确认”。
Author
Owner

父级关系已建立:

  • Epic:#3
  • MVP-0:#4
  • #4 已将 #2 登记为首个单元任务;#2 当前仍为“待确认”,未开始原型实现。
父级关系已建立: - Epic:#3 - MVP-0:#4 - #4 已将 #2 登记为首个单元任务;#2 当前仍为“待确认”,未开始原型实现。
Author
Owner

待验收证据

  • 原型入口:prototypes/2/v1/index.html(可直接本地打开)
  • 实现提交:df7b1e3bc14f5f03b3bb8feb94df62718f2cfa87,已推送 main
  • Product-Requirements-Overview:revision ba0671b1ae388413a49a5d3149f28a12747a3cc5
  • Wiki 任务归档:Task-2-制作-MVP-0-用户端生成页原型
  • 归档 revision:37110021b3ace6de0d2e4ab719e553d41d0220de
  • Playwright:375、768、1024、1440 四个布局用例和完整状态/交互用例,共 5 项通过
  • HTML Validate、git diff --check、严格 Harness、42 个单元测试、16 个核心 Wiki 映射检查均通过
  • docs/task/:按规则未导出

工单保持“待验收”,等待用户确认 v1;未关闭。

## 待验收证据 - 原型入口:`prototypes/2/v1/index.html`(可直接本地打开) - 实现提交:`df7b1e3bc14f5f03b3bb8feb94df62718f2cfa87`,已推送 `main` - Product-Requirements-Overview:revision `ba0671b1ae388413a49a5d3149f28a12747a3cc5` - Wiki 任务归档:[Task-2-制作-MVP-0-用户端生成页原型](https://git.ilapage.cn/OPC/chorus/wiki/Task-2-%E5%88%B6%E4%BD%9C-MVP-0-%E7%94%A8%E6%88%B7%E7%AB%AF%E7%94%9F%E6%88%90%E9%A1%B5%E5%8E%9F%E5%9E%8B.-) - 归档 revision:`37110021b3ace6de0d2e4ab719e553d41d0220de` - Playwright:375、768、1024、1440 四个布局用例和完整状态/交互用例,共 5 项通过 - HTML Validate、`git diff --check`、严格 Harness、42 个单元测试、16 个核心 Wiki 映射检查均通过 - `docs/task/`:按规则未导出 工单保持“待验收”,等待用户确认 v1;未关闭。
ila closed this issue 2026-08-20 17:51:02 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/chorus#2