Files
jiapuapp/docs/design/A06_登录状态_设计记录.md
T
2026-07-14 17:36:43 +08:00

51 lines
3.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.
# A06 登录状态设计记录
> 状态:用户已于 2026-07-14 视觉验收通过;A06 可见效果冻结。
> 唯一路由:`pages/auth/a06-auth-status`;以 `?status=` 表示当前认证状态,不新建状态页面。
## 1. 页面任务与边界
A06 承接认证流程中不能继续进入家谱的结果:登录未完成、登录失败、账号暂时受限、注册尚未完成、微信授权取消和微信授权失败。
没有接入真实账号状态、客服、申诉、微信授权或后端接口。账号受限的“查看帮助”只显示“账号申诉功能待接入”;注册未完成真实跳转 A04;其余主操作与次操作真实跳转 A02。绑定手机号仍属于后续个人中心安全设置页面,本页不承担该功能。
## 2. 状态合同
| `status` 值 | 标题 | 主操作 | 次操作 |
| --- | --- | --- | --- |
| `normal`(含未知值回退) | 登录未完成 | 返回登录 → A02 | 无 |
| `failed` | 登录失败 | 返回登录 → A02 | 无 |
| `restricted` | 账号暂时受限 | 查看帮助 → 本地提示 | 返回登录 → A02 |
| `register-pending` | 注册尚未完成 | 继续注册 → A04 | 返回登录 → A02 |
| `wechat-cancelled` | 微信授权已取消 | 返回登录 → A02 | 无 |
| `wechat-failed` | 微信授权失败 | 返回登录 → A02 | 无 |
H5 由 `location.hash` 的查询参数读取状态;uni-app 原生端读取当前页 `options`。两端对未知值统一回退 `normal`,避免状态壳无文案或失去下一步。
## 3. 视觉结构与资产
1. 删除通用白卡、CSS 红方徽章和压缩按钮,改为 A02/A04/A05 已验证的“朱砂祠堂头 → 卷轴面板 → 状态说明 → 朱砂操作”的认证节奏。
2. 状态图形只使用已有透明 `auth-login-outline.png`,避免为每种异常绘制夸张警示符号;文案承担状态区别,朱砂只强调标签与主操作。
3. 主操作保持完整 `a01-primary-button.png` 位图比例;受限与注册未完成的次操作为低权重朱砂文字,不与主按钮竞争。
4. 页面壳、面板、按钮、边框、云纹和结饰均由既有位图提供;CSS 只处理布局、文字与点击态。现有资产已完整覆盖需求,因此未调用 ImageGen、未新增资产。
## 4. 运行时审视与证据
| 状态 | 截图 |
| --- | --- |
| 改造前通用壳,360×800 | `screens/runtime/2026-07-14/A06-before-360x800.png` |
| 改造前通用壳,412×915 | `screens/runtime/2026-07-14/A06-before-412x915.png` |
| `normal` 默认态,360×800 | `screens/runtime/2026-07-14/A06-after-360x800.png` |
| `normal` 默认态,412×915 | `screens/runtime/2026-07-14/A06-after-412x915.png` |
| `restricted` 受限态,360×800 | `screens/runtime/2026-07-14/A06-restricted-360x800.png` |
截图审视结论:两个尺寸中,朱砂头图、卷轴框、状态图形、标题/说明、完整主按钮与底部淡墨山水均未被裁切;360×800 的面板底部在首屏内结束,412×915 保留呼吸留白;`restricted` 的次操作保持在主按钮下方且不抢主路径。当前未发现黑块、图片未加载、横向溢出或 CSS 伪造完整表面。
## 5. 自动与交互检查
- `tests/a06-auth-status-contract.ps1`:约束唯一路由、独立页面、六个状态键、状态动作、A02/A04 目标、既有位图资产与禁止 CSS 伪造。
- `tests/a06-auth-status-runtime-smoke.js`:通过 Chrome DevTools 9222 真实验证默认主操作进入 A02、受限主操作展示本地帮助提示、注册未完成主操作进入 A04。脚本在每次 hash 跳转后刷新文档,以规避 H5 Vue 实例保留上一次状态。
- `tests/compile-audit.ps1`:确认 A06 不再依赖已移除的目录临时项。
用户已于 2026-07-14 确认本页通过视觉验收;后续可开始 G02,但不得改变 A01、A02、A04、A05、A06、G01 的可见效果。若用户后续指定调整 A06,仍须重新截图、运行上述检查和相关回归。