1
This commit is contained in:
@@ -188,14 +188,14 @@ MVP 阶段建议采用最稳妥规则:
|
||||
|
||||
1. 用户名密码注册
|
||||
2. 游客正式入口
|
||||
3. 账号密码找回
|
||||
3. 邮箱登录
|
||||
4. 实名认证
|
||||
5. 社交好友体系
|
||||
6. 多微信绑定同一账号
|
||||
|
||||
说明:
|
||||
|
||||
当前用户名密码模式可仅保留为开发环境兜底能力,不作为正式前台入口。
|
||||
密码登录不是注册入口,也不是邮箱入口;它只作为手机号验证码登录的补充方式。用户必须先通过手机号验证码登录形成正式账号,并在已登录账号中心设置过密码后,后续才能用“手机号 + 密码”登录。
|
||||
|
||||
---
|
||||
|
||||
@@ -388,6 +388,24 @@ MVP 阶段建议采用最稳妥规则:
|
||||
|
||||
MVP 阶段不需要单独设置密码。
|
||||
|
||||
## 6.1.1 密码登录补充方式
|
||||
|
||||
密码登录只补充手机号验证码登录,不建立新的账号体系。
|
||||
|
||||
落地规则:
|
||||
|
||||
- 入参只允许 `phone` 和 `password`,不支持邮箱、用户名或叙世号。
|
||||
- 手机号不存在时,不创建账号,返回统一的登录失败。
|
||||
- 手机号存在但账号未设置过密码时,不允许密码登录。
|
||||
- 首次设置密码只能在已登录账号中心内完成;用户必须先通过手机号验证码或已绑定手机号的微信账号进入已登录态。
|
||||
- 忘记密码 / 重置密码必须先完成该手机号的短信验证码校验;手机号不存在时不创建账号。
|
||||
|
||||
前台约束:
|
||||
|
||||
- 密码页签的账号输入框文案固定为 `手机号`。
|
||||
- 密码页签主按钮固定为 `登录`,不能出现 `注册/登录`。
|
||||
- 短信验证码页签可继续承担“手机号不存在时创建正式账号并登录”的能力,但按钮文案不应暗示密码注册。
|
||||
|
||||
## 6.2 微信登录
|
||||
|
||||
微信登录按终端拆分:
|
||||
@@ -611,7 +629,7 @@ MVP 阶段建议至少提供一个轻量账号中心,包含:
|
||||
因此本期不是推翻重做,而是:
|
||||
|
||||
1. 保留 `users` 作为账号主表
|
||||
2. 废弃“用户名密码自动注册”作为正式入口
|
||||
2. 废弃“用户名密码自动注册”作为任何正式入口
|
||||
3. 增加手机号与微信身份层
|
||||
4. 增加验证码表与会话表
|
||||
|
||||
@@ -619,7 +637,7 @@ MVP 阶段建议至少提供一个轻量账号中心,包含:
|
||||
|
||||
## 8. 接口设计
|
||||
|
||||
所有接口均由 Express 后端承接。
|
||||
所有接口均由 `server-rs` 后端承接。
|
||||
|
||||
## 8.1 手机号登录相关
|
||||
|
||||
@@ -698,6 +716,28 @@ MVP 阶段建议至少提供一个轻量账号中心,包含:
|
||||
|
||||
## 8.3 会话与账号信息
|
||||
|
||||
### `POST /api/auth/entry`
|
||||
|
||||
用途:
|
||||
|
||||
- 使用已设置密码的手机号账号登录
|
||||
|
||||
入参:
|
||||
|
||||
- `phone`
|
||||
- `password`
|
||||
|
||||
出参:
|
||||
|
||||
- `token`
|
||||
- `user`
|
||||
|
||||
约束:
|
||||
|
||||
- 不支持邮箱、用户名或叙世号。
|
||||
- 不承担注册能力。
|
||||
- 只有已存在、已验证手机号、且 `passwordLoginEnabled=true` 的账号可以登录。
|
||||
|
||||
### `GET /api/auth/me`
|
||||
|
||||
返回建议扩展为:
|
||||
|
||||
@@ -874,6 +874,7 @@ isCardDetailLoading: boolean;
|
||||
1. 前端步骤名优先复用服务端 `phaseLabel` 的真实语义,不再单独发明一套四段式文案。
|
||||
2. 如果服务端处于批处理阶段,顶部 `phaseLabel` / `phaseDetail` 继续直接显示当前批次信息。
|
||||
3. 自动补主形象与幕背景图也属于草稿生成链路的一部分,不能在进度 UI 中被误折叠成“已完成”后的隐藏耗时。
|
||||
4. 进度页“已耗时”必须按服务端 operation 的创建时间 `startedAt` 与当前时间计算;刷新页面、恢复轮询或前端重挂载时不能重新从本地点击时间开始计时。只有旧 operation 缺少 `startedAt` 时,才允许使用本地记录的开始时间作为兜底。
|
||||
|
||||
## 12.1 生成底稿时序
|
||||
|
||||
|
||||
@@ -135,6 +135,18 @@
|
||||
|
||||
结果页不是一个只读总结页,而是拼图作品最小可编辑工作台。
|
||||
|
||||
### 5.1.1 已发布作品二次编辑
|
||||
|
||||
创作者在“我的创作”中点击自己已发布的拼图作品时,不进入只读详情页,而是回到该作品绑定的拼图结果页继续编辑。独立的“体验”按钮仍然直接进入第 1 关,不与编辑入口混用。
|
||||
|
||||
落地规则:
|
||||
|
||||
1. 已发布拼图作品必须优先通过 `sourceSessionId` 恢复原 Agent session。
|
||||
2. 恢复后的结果页沿用原草稿、候选图、正式图、标题、摘要和标签;创作者可以继续改标题、摘要、标签,并重新生成或切换图片。
|
||||
3. 再次点击发布时不得创建新作品,必须覆盖同一个 `profileId / workId`。
|
||||
4. 覆盖发布只更新作品内容、更新时间、发布时间与广场投影;不得清零 `playCount`,不得改变作品归属。
|
||||
5. 如果历史作品缺少 `sourceSessionId`,前端只能退回作品详情,不伪造编辑 session。
|
||||
|
||||
## 5.2 运行时结论
|
||||
|
||||
拼图运行时应该是:
|
||||
|
||||
Reference in New Issue
Block a user