feat: Portal 自助注册页面与状态 #81

Open
opened 2026-08-29 21:00:36 +08:00 by ila · 2 comments
Owner

基本信息

  • 类型:单元任务(生产实现)
  • 所属 MVP:#76
  • 所属 Epic:#75
  • 前置工单:#80
  • 设计证据:#78 v1,2026-08-29 用户已确认
  • 状态:待验收
  • 提出时间:2026-08-29

目标

按 #78 v1 为现有 Portal 登录页增加受策略控制的注册入口,并交付响应式注册页及完整提交状态。

范围

  • 开放时登录页显示“创建账号”,关闭或读取失败时隐藏。
  • 账号、昵称、密码、确认密码表单;密码至少 6 位。
  • 字段校验、账号冲突、提交中、网络失败、策略中途关闭状态。
  • 成功后进入现有工作台;失败保留非密码字段并清空密码。
  • 桌面和移动端布局、键盘、焦点、aria-live、44px 操作目标。
  • Portal web 构建和浏览器 E2E。

非目标

营销页、邮箱、验证码、OAuth、修改现有生成工作台结构。

验收标准

  • 页面与 #78 v1 关键布局、文案和流程一致。
  • 关闭时无入口且直接访问不可用。
  • 正常、校验、冲突、网络失败和中途关闭状态可用。
  • 390/768/1024/1440 无横向溢出,键盘流程通过。
  • Portal 构建和相关测试通过。

文档影响

完成后更新 Product-Requirements-Overview。

## 基本信息 - 类型:单元任务(生产实现) - 所属 MVP:#76 - 所属 Epic:#75 - 前置工单:#80 - 设计证据:#78 v1,2026-08-29 用户已确认 - 状态:待验收 - 提出时间:2026-08-29 ## 目标 按 #78 v1 为现有 Portal 登录页增加受策略控制的注册入口,并交付响应式注册页及完整提交状态。 ## 范围 - 开放时登录页显示“创建账号”,关闭或读取失败时隐藏。 - 账号、昵称、密码、确认密码表单;密码至少 6 位。 - 字段校验、账号冲突、提交中、网络失败、策略中途关闭状态。 - 成功后进入现有工作台;失败保留非密码字段并清空密码。 - 桌面和移动端布局、键盘、焦点、aria-live、44px 操作目标。 - Portal web 构建和浏览器 E2E。 ## 非目标 营销页、邮箱、验证码、OAuth、修改现有生成工作台结构。 ## 验收标准 - [ ] 页面与 #78 v1 关键布局、文案和流程一致。 - [ ] 关闭时无入口且直接访问不可用。 - [ ] 正常、校验、冲突、网络失败和中途关闭状态可用。 - [ ] 390/768/1024/1440 无横向溢出,键盘流程通过。 - [ ] Portal 构建和相关测试通过。 ## 文档影响 完成后更新 Product-Requirements-Overview。
Author
Owner

开始实施(2026-08-29)。#80 已完成并推送 d617ae0。按 #78 v1 实现 Portal 注册页面正式交互、状态、可访问性和响应式验证。

开始实施(2026-08-29)。#80 已完成并推送 d617ae0。按 #78 v1 实现 Portal 注册页面正式交互、状态、可访问性和响应式验证。
Author
Owner

实现完成,待用户验收。

最终差异:

  • 按 #78 v1 完成正式注册页、登录页动态入口、账号/昵称/密码/确认密码字段与双密码显隐。
  • 增加字段级校验、统一账号冲突、提交中、限流、网络失败、服务不可用及管理员中途关闭状态。
  • 策略关闭时清空密码但保留账号和昵称;成功直接进入现有工作台。
  • 增加键盘焦点、aria-live、44px 目标、移动端布局和无横向溢出检查。
  • 密码长度统一按 Unicode 字符计数,6–1024 位;长密码仍使用兼容 bcrypt:v1 的预哈希路径。
  • 扩展 E2E fixture,注册测试用户与策略均可清理复原。

验证:

  • node --check、pnpm --dir portal/web build:通过。
  • Go web/auth/handler/password 测试:通过。
  • 临时测试 Portal + chorus_test,375/768/1024/1440 四视口真实注册、自动登录、字段焦点、44px 和无横向溢出:4/4 通过。
  • 未调用 Provider,测试账号已清理,注册策略恢复关闭。

提交:a134336(已推送 main)

文档影响:产品页面与状态将在 #83 更新核心 Wiki 和镜像。

实现完成,待用户验收。 最终差异: - 按 #78 v1 完成正式注册页、登录页动态入口、账号/昵称/密码/确认密码字段与双密码显隐。 - 增加字段级校验、统一账号冲突、提交中、限流、网络失败、服务不可用及管理员中途关闭状态。 - 策略关闭时清空密码但保留账号和昵称;成功直接进入现有工作台。 - 增加键盘焦点、aria-live、44px 目标、移动端布局和无横向溢出检查。 - 密码长度统一按 Unicode 字符计数,6–1024 位;长密码仍使用兼容 bcrypt:v1 的预哈希路径。 - 扩展 E2E fixture,注册测试用户与策略均可清理复原。 验证: - node --check、pnpm --dir portal/web build:通过。 - Go web/auth/handler/password 测试:通过。 - 临时测试 Portal + chorus_test,375/768/1024/1440 四视口真实注册、自动登录、字段焦点、44px 和无横向溢出:4/4 通过。 - 未调用 Provider,测试账号已清理,注册策略恢复关闭。 提交:a134336(已推送 main) 文档影响:产品页面与状态将在 #83 更新核心 Wiki 和镜像。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/chorus#81