3.1 KiB
3.1 KiB
交互设计 · 登录与会话
两个世界的入口设计:管理面登录页、空库三态(静默重建 / 引导页)、改密表单、成员登录壳。访问主体模型的交互落点(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. 成员登录壳
- 唯一入口:令牌输入框(单字段)+ 进入按钮;根路径
/默认落到本页(已持令牌则进成员总览);管理面入口形态(是否在界面露出)待定,当前经地址栏/admin进入 - 提交 → 服务端哈希比对 +
status检查:- 通过 → 令牌存 sessionStorage → 进入成员视图(侧边栏布局,落地「总览」,见《交互设计-成员视图》)
- 失败/停用 → 「令牌无效或已停用」(同一提示,不泄露停用与错误的区别——成员侧无需区分,反正都是找作者)
- 页面氛围:与登录页同构但视觉上明确这是「成员入口」(页头「成员入口」标识),防止你自己走错门
- 无「找回令牌」链接:丢了找作者重发(裁决语义,界面不设自助入口)
- 关闭标签 → sessionStorage 清除 → 下次重输(一个月一次的成本,换来零凭证持久化)