TalkofFood_Design/1-原型设计及功能说明/1.1.2通用基础页面-原型功能说明文档-2.0.md
L.star f2034c6709 feat(auth): 重构通用基础页面与登录流程
本次提交对用户认证与引导流程进行了全面的重构和功能增强。

核心变更:

1.  **文件结构重构:**
    *   将所有登录、注册、引导相关的页面组件(共9个)统一移动到了新的 \shihuashishuo-ui/src/views/通用基础页/\ 目录下,使项目结构更清晰。
    *   删除了旧路径下的相应文件。

2.  **新增功能页面:**
    *   **密码登录:** 新增了 \PasswordLoginView-密码登录页.vue\,为用户提供了手机验证码之外的另一种登录选择。
    *   **忘记密码:** 新增了 \ForgotPasswordView-忘记密码页.vue\,包含一个完整的、带验证码校验的两步式密码重设流程。
    *   **第三方授权:** 新增了 \ThirdPartyAuthView-授权登录页.vue\ 作为处理社交登录的中转页。

3.  **功能增强与修复:**
    *   **登录页 (\LoginView\):**
        *   UI更新:将原有的微信一键登录按钮替换为包含微信、QQ等多种方式的社交登录图标组。
        *   交互增强:为获取验证码按钮增加了60秒倒计时功能,并对手机号和验证码输入框增加了长度和字符类型限制。
    *   **闪屏页 (\SplashView\):**
        *   UI更新:根据新的设计稿,将页面重构为包含Logo、应用名称和Slogan的居中布局,并增加了渐变背景效果。
    *   **路由 (\
outer/index.ts\):**
        *   全面更新了所有相关页面的导入路径以匹配新的文件结构。
        *   移除了对已废弃的 \HomeView-首页-1.0.vue\ 的引用,修复了编译错误。

4.  **文档更新:**
    *   新增并全面重写了 \1.1.2通用基础页面-原型功能说明文档-2.0.md\,使其与当前的代码实现和功能逻辑完全保持一致,为后续开发提供了准确的参考。
2025-07-23 15:37:18 +08:00

152 lines
6.6 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.

# 1.1.2 通用基础页面 - 功能说明文档 (v2.0)
**文档目的:** 本文档旨在为技术开发团队提供最终版的页面功能说明、交互反馈及业务规则,作为前端开发的最终参考依据。
**版本:** 2.0 (同步代码重构,新增登录流程页面)
---
## 页面流程总览
应用启动后,用户将经历以下核心流程:
`启动页` -> `登录/注册页` -> `用户引导流程 (Onboarding)` -> `应用主页`
**登录/注册流程分支:**
* 用户可在 `登录/注册页` 选择 `密码登录`
* 用户可在 `密码登录页` 选择 `忘记密码`
* 用户可在 `登录/注册页` 选择 `第三方社交账户登录`
* 用户可在 `登录/注册页` 查看 `用户协议/隐私政策`
---
## 1. 启动页 (`SplashView-闪屏页.vue`)
- **页面名称:** Splash Screen / 启动页
- **文件路径:** `shihuashishuo-ui/src/views/通用基础页/SplashView-闪屏页.vue`
### 1.1. 功能描述
- **核心功能:** 作为应用的入口,展示品牌信息,并在短暂延迟后自动导航到登录页。
- **显示元素:**
- 应用 Logo (居中,位于文字上方)
- 应用名称: "食话食说 Talk of Food"
- 应用口号: "食品真相,食话食说"
### 1.2. 交互反馈
- **自动跳转:** 页面加载完成 `2.5` 秒后,系统自动跳转到 **登录/注册页** (`/login`)。
- **用户交互:** 此页面无任何用户可操作的交互元素。
### 1.3. 布局与样式
- **布局:** 采用 Flexbox 垂直居中布局。
- **背景:** 柔和的从上至下线性渐变 (`#fafff5` -> `#f0fdf4`)。
- **字体大小:** 应用标题为 `32px` 以适应中英文组合。
---
## 2. 登录认证流程
### 2.1. 登录/注册页 (`LoginView-登录页-2.0.vue`)
- **页面名称:** Login / Register Page / 登录注册页
- **文件路径:** `shihuashishuo-ui/src/views/通用基础页/LoginView-登录页-2.0.vue`
#### 2.1.1. 功能描述
- **核心功能:** 提供用户通过手机验证码注册/登录的主入口,并分流至其他登录方式。
- **显示元素:**
- 手机号输入框 (11位数字限制)
- 验证码输入框 (6位数字限制)
- "获取验证码" 按钮
- "登录 / 注册" 主按钮
- "密码登录" 文字按钮
- 第三方社交登录图标 (微信, QQ, 抖音, 微博)
- 政策同意复选框及链接
#### 2.1.2. 交互反馈
- **获取验证码:** 点击后按钮进入60秒倒计时期间不可再次点击。
- **登录/注册:** (临时) 点击后,跳转到 **用户引导流程页** (`/onboarding`)。
- **密码登录:** 点击后,跳转到 **密码登录页** (`/password-login`)。
- **社交登录:** 点击任一社交图标,跳转到 **第三方授权页** (`/auth`)并通过URL参数传递平台名称。
- **政策链接:** 点击 `用户协议``隐私政策` 链接,页面跳转到 **政策详情页** (`/policy`)。
### 2.2. 密码登录页 (`PasswordLoginView-密码登录页.vue`)
- **页面名称:** Password Login Page / 密码登录页
- **文件路径:** `shihuashishuo-ui/src/views/通用基础页/PasswordLoginView-密码登录页.vue`
#### 2.2.1. 功能描述
- **核心功能:** 为已注册用户提供通过手机号和密码登录的方式。
- **显示元素:**
- 手机号输入框
- 密码输入框
- "登录" 按钮
- "← 其它登录方式" 链接
- "忘记密码?" 链接
#### 2.2.2. 交互反馈
- **登录:** (临时) 点击后,跳转到 **用户引导流程页** (`/onboarding`)。
- **其它登录方式:** 点击后,返回 **登录/注册页** (`/login`)。
- **忘记密码?:** 点击后,跳转到 **忘记密码页** (`/forgot-password`)。
### 2.3. 忘记密码页 (`ForgotPasswordView-忘记密码页.vue`)
- **页面名称:** Forgot Password Page / 忘记密码页
- **文件路径:** `shihuashishuo-ui/src/views/通用基础页/ForgotPasswordView-忘记密码页.vue`
#### 2.3.1. 功能描述
- **核心功能:** 通过两步验证,引导用户安全地重设密码。
- **流程步骤:**
1. **验证身份:** 输入手机号和验证码,点击 "下一步"。
2. **重设密码:** 验证通过后,输入新密码和确认密码,点击 "确认重设"。
#### 2.3.2. 交互反馈
- **获取验证码:** 与登录页逻辑相同有60秒倒计时。
- **下一步:**
- (临时) 如果验证码为 "111111",则进入重设密码步骤。
- 如果验证码错误,页面下方显示红色错误提示 "验证码错误,请重试"。
- **确认重设:**
- 如果两次输入的密码不一致,显示错误提示 "两次输入的密码不一致"。
- (临时) 如果密码一致,模拟重设成功并跳转回 **登录/注册页** (`/login`)。
- **返回登录:** 点击后,返回上一页。
### 2.4. 第三方授权页 (`ThirdPartyAuthView-授权登录页.vue`)
- **页面名称:** Third Party Auth Page / 第三方授权页
- **文件路径:** `shihuashishuo-ui/src/views/通用基础页/ThirdPartyAuthView-授权登录页.vue`
#### 2.4.1. 功能描述
- **核心功能:** 作为用户点击社交登录图标后的中转页面,模拟向第三方平台请求授权的过程。
- **显示元素:**
- 加载动画 (Spinner)
- 动态文本,如 "正在通过 微信 安全登录..."
#### 2.4.2. 交互反馈
- **自动跳转:** 页面加载 `2` 秒后,模拟授权成功,自动跳转到 **用户引导流程页** (`/onboarding`)。
---
## 3. 用户引导流程 (`OnboardingView.vue` & `OnboardingStep.vue`)
- **页面名称:** Onboarding / 用户偏好设置
- **文件路径:**
- `shihuashishuo-ui/src/views/通用基础页/OnboardingView.vue` (流程控制器)
- `shihuashishuo-ui/src/views/通用基础页/OnboardingStep.vue` (可复用步骤组件)
### 3.1. 功能描述
- **核心功能:** 在用户首次登录后,通过一个多步骤的流程收集用户的健康和饮食偏好。
- **流程步骤:** 关注点 -> 过敏原 -> 基础疾病 -> 饮食偏好。
### 3.2. 交互反馈
- **通用交互:** `跳过`, `下一步`, `返回`, `完成` 按钮逻辑与之前版本一致。
- **核心交互:** 搜索、Tag式选择、"无"选项互斥、自定义添加等复杂交互逻辑均已实现。
---
## 4. 政策详情页 (`PolicyView.vue`)
- **页面名称:** Policy Page / 用户协议或隐私政策页
- **文件路径:** `shihuashishuo-ui/src/views/通用基础页/PolicyView.vue`
### 4.1. 功能描述
- **核心功能:** 显示静态的法律条款文本。
- **交互反馈:** 点击左上角的 `< 返回` 按钮,页面会返回到之前的页面。