# 03-用户认证页面 ## 目标 实现登录和注册页面,完成用户认证功能。 --- ## UI 设计参考 > 参考设计稿:`files/ui/登录页.png` ### 页面布局 | 区域 | 设计要点 | |------|----------| | 顶部 | 绿色渐变背景 (`#10B981 → #2EC4B6`) + 医疗插图 | | Logo | "AI健康助手" 标题 + "您的专属健康管理伙伴" | | 表单 | 白色圆角卡片 (16px),内边距 24px | | 输入框 | 灰色背景 `#F3F4F6`,圆角 24px | | 主按钮 | 绿色 `#10B981`,全宽,圆角 24px | | 底部 | 注册/登录切换链接 | ### 配色规范 ```scss $primary: #10B981; // 主色调 $primary-dark: #059669; // 深色(hover) $bg-page: #F5F5F5; // 页面背景 $bg-input: #F3F4F6; // 输入框背景 $text-main: #1F2937; // 主文字 $text-sub: #6B7280; // 次文字 $text-hint: #9CA3AF; // 提示文字 ``` --- ## 前置要求 - 路由和布局已配置 - 后端认证接口可用 --- ## 实施步骤 ### 步骤 1:创建认证 API 创建 `src/api/auth.ts`: ```typescript import request from './request' export interface LoginRequest { phone: string password: string } export interface RegisterRequest { phone: string password: string nickname?: string } export interface AuthResponse { token: string user_id: number nickname: string survey_completed: boolean } export const login = (data: LoginRequest): Promise => { return request.post('/auth/login', data) } export const register = (data: RegisterRequest): Promise => { return request.post('/auth/register', data) } ``` ### 步骤 2:创建登录页面 创建 `src/views/auth/Login.vue`: ```vue ``` ### 步骤 3:创建注册页面 创建 `src/views/auth/Register.vue`: ```vue ``` --- ## 需要创建的文件清单 | 文件路径 | 说明 | |----------|------| | `src/api/auth.ts` | 认证 API | | `src/views/auth/Login.vue` | 登录页面 | | `src/views/auth/Register.vue` | 注册页面 | --- ## 功能说明 ### 登录页面 - 手机号+密码登录 - 表单验证 - 登录成功后: - 已完成调查 → 跳转首页 - 未完成调查 → 跳转健康调查页 ### 注册页面 - 手机号+密码注册 - 可选昵称 - 密码确认 - 用户协议确认 - 注册成功后跳转健康调查页 --- ## 验收标准 - [ ] 登录表单验证正常 - [ ] 注册表单验证正常 - [ ] 登录成功保存 Token - [ ] 注册成功自动登录 - [ ] 路由跳转逻辑正确 --- ## 预计耗时 20-25 分钟 --- ## 下一步 完成后进入 `03-Web前端开发/04-健康调查页面.md`