新增文档说明

This commit is contained in:
吕新雨
2026-01-29 23:31:12 +08:00
parent 0dd84b1873
commit d08deef478
22 changed files with 2079 additions and 2 deletions

View File

@@ -0,0 +1,103 @@
# Splash Consent高层规范
## 1. 背景与目标
客户端需要一个开屏页Splash/Welcome用于展示品牌视觉并在**首次加载**时让用户同意隐私协议与用户使用协议。用户同意后进入后续流程Onboarding/App
### 目标
- **视觉开屏**:使用 `client/assets/images/index/` 下的图片资源作为主视觉
- **首次同意**:底部渐变按钮仅在首次加载时出现,用于“同意并继续”
- **协议入口**:按钮下方提供「隐私协议」「用户使用协议」入口,用户可点击查看
- **状态持久化**:同意后不再显示该按钮(后续启动直接进入后续流程)
### 非目标(本阶段不做)
- 不实现复杂的协议版本管理(如协议更新后重新弹出),后续可扩展
- 不实现后端拉取协议内容(可先使用本地静态页面或外链)
## 2. 范围与交付物
### 范围
- 新增开屏页 UI 与路由接入
- 新增“首次同意”状态的本地持久化
- 协议入口(跳转到 WebView/外部浏览器/内置页面,方案在实现阶段确定)
### 交付物
- 开屏页(含图片、按钮、协议入口)
- 本地持久化 key 约定与读写逻辑
- README/文档更新(可选)
## 3. 视觉与交互需求
### 3.1 主视觉
- 使用 `client/assets/images/index/` 下的图片资源(例如 `index_flowers.png`
- 布局建议:
- 图片居中或铺满上半部分(按实际设计微调)
- 适配不同屏幕尺寸,确保不变形/不裁切关键内容
### 3.2 底部渐变按钮(仅首次出现)
- **出现条件**:仅在首次加载且未同意协议时显示
- **按钮文案**:建议“同意并继续”(文案可后续调整,需支持 i18n
- **按钮渐变色**:从 `#F69F7B``#F99CC0`
- **点击行为**
- 写入本地状态:用户已同意
- 跳转到后续流程入口(例如 Onboarding 或 Home 的启动分发)
### 3.3 协议入口
- 位于按钮下方,展示:
- **隐私协议**
- **用户使用协议**
- 点击行为:打开对应协议内容
- 支持外链或内置页面(实现阶段确认)
## 4. 首次加载判定与持久化
### 4.1 判定规则
- **首次加载定义**App 首次启动且用户未完成协议同意
### 4.2 存储 Key建议
- `consent.accepted`: boolean
> 说明:后续如需协议版本化,可扩展为 `consent.versionAccepted = <version>`。
## 5. 路由与流程(与现有客户端集成)
### 5.1 流程顺序(建议)
1. App 启动
2.`consent.accepted !== true`:进入开屏页(展示按钮与协议入口)
3. 用户点击“同意并继续”后:
- 写入 `consent.accepted=true`
- 进入后续流程(例如 Onboarding/App Shell 的启动分发)
### 5.2 与现有功能的关系
- 开屏页位于 Onboarding 之前(更符合“先同意协议再使用”的要求)
- 同意后按既有规则继续:
- 已完成 onboarding进入 Home
- 未完成 onboarding进入 Onboarding
## 6. 验收标准
- 首次启动:
- 出现开屏页,展示图片
- 底部渐变按钮可见,颜色正确(`#F69F7B``#F99CC0`
- “隐私协议/用户使用协议”可点击打开
- 点击“同意并继续”后进入后续流程
- 非首次启动:
- 不再出现“同意按钮”(且开屏页按产品要求可直接跳过或不再展示)
- 直接进入后续流程
## 7. 风险与注意事项
- 协议内容来源若为外链,需要保证链接长期可用;若为本地页面,需要考虑后续更新机制
- iOS 不同机型安全区(底部 Home Indicator需保证按钮与协议入口不被遮挡