Files
new-api-key-usage/docs/design/交互设计-登录与会话.md
T
skycurtain 00c08b37ff docs: payments 拆表设计定稿与契约/交互对齐
新增建模评估与 subscriptions/topups 表设计;删除 payments 单表篇;
契约、支付交互、需求清单与文档地图同步。
2026-10-09 22:03:43 +08:00

49 lines
2.9 KiB
Markdown
Raw Blame History

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.
# 交互设计 · 登录与会话
> 两个世界的入口设计:管理面登录页、空库三态(静默重建 / 引导页)、改密表单、成员登录壳。访问主体模型的交互落点(R11 裁决)。
| 项目 | 内容 |
|------|------|
| 状态 | 定稿(2026-10-01) |
| 关联 | 《交互设计-总览与共性》(导航与状态模式)· `users表字段设计.md` 3.1(空库双通道)· `members表字段设计.md`(令牌)· `sessions表字段设计.md` |
| 页面 | 管理面登录页、引导页、账号设置(改密)、成员登录壳 |
---
## 1. 管理面登录页
- **唯一元素**:用户名、密码、登录按钮——无「忘记密码」链接(重置路径是服务器侧删行,见 users 3.1,不设界面入口)
- 提交:失败 → 「用户名或密码错误」(通用提示);成功 → 建会话(HttpOnly cookie)→ 落地全员总览
- **空库三态在此路由内分流**(前端请求管理面入口时后端判定状态):
```
GET 管理面入口
├─ users 非空 ────────── 登录页(如常)
├─ 空库 + env 凭证在 ─── 后端静默重建 → 登录页(密码即 env 凭证,用户无感)
└─ 空库 + env 凭证无 ─── 引导页(见 §2)
```
## 2. 引导页(空库兜底,一次性)
- 出现条件:`users` 空且 env 无引导凭证——重置密码时的兜底通道
- 表单:用户名、密码、确认密码;提交 → 落库 → 直接进入登录态(免二次登录)
- 页头说明文案:「系统检测到管理员尚未初始化——请设置管理员账号」
- **永不复现**:`users` 非空后此页面不再可能出现(后端状态判定保证)
- 安全提示(页面脚注):「请尽快完成设置——初始化完成前,此页面对任何访问者可见」
## 3. 账号设置(改密)
- 侧边栏「账号设置」:旧密码、新密码、确认新密码
- 成功 → 提示「密码已更新;其他设备的登录已失效」(**删除其他会话行、保留当前**——sessions 可吊销能力的运用)
- 失败 → 「旧密码不正确」
## 4. 成员登录壳
- 成员视图的唯一入口:令牌输入框(单字段)+ 进入按钮
- 提交 → 服务端哈希比对 + `status` 检查:
- 通过 → 令牌存 sessionStorage → 进入成员视图(侧边栏布局,落地「总览」,见《交互设计-成员视图》)
- 失败/停用 → 「令牌无效或已停用」(同一提示,不泄露停用与错误的区别——成员侧无需区分,反正都是找作者)
- 页面氛围:与登录页同构但**视觉上明确这是「成员入口」**(页头「成员入口」标识),防止你自己走错门
- 无「找回令牌」链接:丢了找作者重发(裁决语义,界面不设自助入口)
- 关闭标签 → sessionStorage 清除 → 下次重输(一个月一次的成本,换来零凭证持久化)