Clone
4
Task-26-MVP-1-portal-用户界面
ila edited this page 2026-08-23 23:09:37 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

26 MVP-1 portal 用户界面

  • 类型:需求
  • 所属 Epic:#3
  • 所属 MVP / 版本:#19 / MVP-1
  • 状态:已完成
  • 日期:2026-08-23
  • Gitea 工单:#26
  • Wiki 页面:Task-26-MVP-1-portal-用户界面

背景与目标

按已确认的 #18 v1 原型,在既有 html/template、HTMX、Alpine 和 Tailwind 技术栈中完成 MVP-1 portal 用户界面,并接入 #25 已稳定的图片提交和游标历史契约。

最终方案

  • 支持文生图与图片编辑切换;图片编辑可配置每图 primary/reference、备注和顺序,并保证恰好一张 primary。
  • 拖动排序同时提供上移、下移等键盘等价操作;Prompt 构成和 role_rule 覆盖关系固定展示。
  • 文生图提交空图片 metadata;图片编辑以 files[<client_id>] 传文件,并与 metadata 一一对应。
  • 历史首屏和增量页都使用游标;加载失败保留已有记录,可重试,并覆盖空记录、到底和认证失效状态。
  • 生成同步链路不调用上游、不读写用户点数;测试只使用隔离库、合成数据和 mock 状态。

修改文件

  • portal/handler/router.go、portal/handler/mysql_integration_test.go:页面数据、首屏历史和集成验证。
  • portal/web/web.go、portal/web/templates/app.html、portal/web/templates/result.html:portal 页面结构与状态呈现。
  • portal/web/static/app.js、portal/web/static/app.css:交互逻辑与构建产物。
  • portal/web/src/input.css、portal/web/src/icons.js、portal/web/static/vendor/icons.min.js:样式和图标源及产物。
  • portal/web/e2e/portal.spec.js、portal/web/e2e/fixture/main.go:四视口 E2E 与隔离测试夹具。
  • docs/02-product-requirements.md:由 Product-Requirements-Overview Wiki 同步的候选状态镜像。

验收结果

验收标准 结果
符合 #18 v1,入口、输入边界和错误提示清楚 通过(2026-08-23 用户验收)
每图角色、备注、顺序可编辑,具备键盘等价操作且恰好一张 primary 通过(2026-08-23 用户验收)
Prompt 覆盖关系及提交、失败、认证失效、重试状态可访问 通过(2026-08-23 用户验收)
历史增量加载保留已有列表,覆盖失败重试、空、到底及四视口无横向溢出 通过(2026-08-23 用户验收)

测试

  • pnpm --dir portal/web build:通过。
  • JavaScript 语法检查:通过。
  • go build ./...、go vet ./...、go test -count=1 ./...:通过。
  • go test -race -count=1 ./portal/...:通过。
  • 使用 admin/config/settings.yml 中的本机 MySQL 8 参数派生到隔离库 chorus_test,portal handler/service/session/auth 集成测试通过;未修改业务库。
  • Playwright 375/768/1024/1440 共 8 个项目用例:5 个执行通过,3 个按设计仅在 1024 执行而跳过;覆盖 metadata 落库、历史失败恢复、终态、认证失效、44px 目标、reduced-motion 和无横向溢出。
  • DevHarness strict、核心 Wiki 镜像一致性和 42 项 Harness 单元测试:通过。
  • 未验证部分:真实 Provider 调用不属于本工单范围;MVP-1 跨模块集成验收由 #27 负责。

遗留问题

  • 用户于 2026-08-23 明确确认 #26 验收通过;工单关闭并同步勾选父工单 #19 与 Epic #3。
  • 任务归档只保存在线 Wiki,本次未导出 docs/task/。

相关提交

  • 27f6f0a 实现 portal MVP-1 用户界面。
  • 5673726 记录 #26 候选状态并同步核心 Wiki 镜像。
  • 777b908 归档 #26 验收结果并同步核心 Wiki 镜像。

用户验收

  • 用户于 2026-08-23 明确确认“#26通过验收”。
  • Product-Requirements-Overview revision:5f38cd4d4e6006fc6eec5d3622121e56433bf46d。