39 lines
2.8 KiB
Markdown
39 lines
2.8 KiB
Markdown
# A02 协议确认控件设计
|
||
|
||
> 状态:用户已确认方案并验收 A02;本文件只保留本轮已完成的 A02 调整记录。
|
||
|
||
## 目标
|
||
|
||
让直接进入 A02 的用户能在当前登录页完成协议确认,替换“请先在登录引导页阅读并确认协议”的被动提示,同时保持 A01 已验收的可见效果与既有入口行为不变。
|
||
|
||
## 范围与边界
|
||
|
||
- 只修改 A02 账号登录、其最小契约、两枚认证模块透明状态图标、A02 文字注册入口、相应资产台账和 A02 设计记录。
|
||
- A01 的页面结构、视觉、协议勾选、`agreed=1` 跳转和拦截行为均不改动。
|
||
- 不新建协议正文路由;《用户协议》《隐私政策》沿用当前“协议页面准备中”的提示行为。
|
||
- A03 已删除;A02 已验收。后续 A04--A06 必须各自审视与验收,不把 A02 表单直接复制过去。
|
||
|
||
## A02 交互合同
|
||
|
||
1. A02 的 `agreed` 是 A02 提交前协议状态的唯一所有者。
|
||
2. `agreed=1` 只作为从 A01 进入时的初始已同意值;直接进入 A02 时默认未同意。
|
||
3. 登录按钮下方提供整行可点击的协议确认控件。点击行切换状态,点击协议名称不切换状态。
|
||
4. 未同意时提交提示“请先阅读并同意相关协议”,不再要求返回 A01;已同意后保留既有账号密码、短信登录校验和登录待接入提示。
|
||
5. 协议行下方提供“还没有账号? 注册账号”入口;仅“注册账号”可点,且直接进入既有 A04,不以协议状态或新接口阻断新用户。
|
||
|
||
## 视觉与资产合同
|
||
|
||
- 控件位于 A02 卷轴面板内、登录按钮下方,使用至少 88rpx 高的点击区和不小于 24rpx 的正文。
|
||
- 未选中和选中图标分别使用 `static/assets/modules/auth/transparent/a02-agreement-unchecked.png` 与 `a02-agreement-checked.png`。
|
||
- 图标为 96 × 96 的 RGBA PNG,四角透明;显示时只承担图标,不用 CSS 绘制圆环、勾号或底色。
|
||
- 文本与链接位于 Vue 文字层,保留项目既有墨褐与朱砂层级;不把文字烘焙进图标。
|
||
- 注册入口是无底色、无边框的文字导航,不伪造为 CSS 按钮,也不新增视觉资产;“注册账号”保持至少 88rpx 高的触点。
|
||
|
||
## 验收
|
||
|
||
- 最小 UI 契约先红后绿,覆盖 A02 协议行、两枚图标、初始状态、切换、当前页拦截与旧提示移除。
|
||
- 资产审计验证两枚图标存在、尺寸、RGBA 与透明角。
|
||
- 运行 A02 相关审计、编译审计、全路由合同;用 Chrome 截取 A02 未选中与 `agreed=1` 选中状态,并验证注册入口实际到达 A04。
|
||
- 截图脚本每次必须确认目标 URL 并创建新文档后再等待图片,不能复用同一路由遗留的 Vue 状态作为视觉证据。
|
||
- `design-qa.md` 已标记 `accepted`;A02 不再阻塞后续页面,但其可见效果保持冻结。
|