# 手机号验证码登录页面 - 基于 Figma 设计稿 ## 设计概述 本页面完全按照 Figma 设计稿 `EWQlX5wM2lhiSLfFQp8qKT` 中的 "iPhone 13 & 14 - 57" 图层实现,是一个专业的手机号注册/登录页面。 ## 🎨 设计特点 ### 视觉设计 - **背景色**:使用 `#FAFAFA` 浅灰色背景,简洁现代 - **品牌元素**:"有场" 品牌标题 + "Go Together, Grow Together" 标语 - **状态栏**:示意性状态栏,显示基本的时间信息 - **导航栏**:透明背景,包含返回按钮和右侧操作按钮(分享、主页) ### 交互设计 - **双输入框**:手机号输入框 + 验证码输入框 - **字符计数**:实时显示输入字符数量(手机号 0/11,验证码 0/6) - **验证码发送**:60秒倒计时,防止重复发送 - **登录验证**:完整的输入验证和登录流程 - **协议链接**:底部包含条款和隐私政策链接 ## 📱 页面结构 ``` VerificationPage ├── 背景层 │ └── 浅灰色背景 (#FAFAFA) ├── 状态栏 │ ├── 时间显示 (9:41) │ └── 状态图标 (信号/WiFi/电池) ├── 导航栏 │ ├── 返回按钮 (左箭头) │ ├── 占位区域 │ └── 操作按钮 (分享/主页) ├── 主要内容 │ ├── 标题区域 │ │ ├── 主标题:"手机号注册/登录有场" │ │ └── 副标题:"Go Together, Grow Together" │ ├── 表单区域 │ │ ├── 手机号输入框 │ │ └── 验证码输入框 + 发送按钮 │ ├── 登录按钮 │ └── 协议链接 └── 底部指示器 ``` ## 🚀 功能特性 ### 输入验证 - **手机号验证**:必须是11位中国内地手机号 - **验证码验证**:必须是6位数字验证码 - **实时计数**:显示当前输入字符数量 - **输入限制**:手机号最多11位,验证码最多6位 ### 验证码发送 - **发送条件**:手机号格式正确才能发送 - **倒计时功能**:发送后60秒倒计时,防止重复发送 - **状态管理**:倒计时期间按钮禁用,显示剩余时间 ### 登录流程 - **输入验证**:检查手机号和验证码格式 - **登录请求**:调用 `phone_auth_login` 服务 - **状态反馈**:显示登录中状态和结果提示 - **页面跳转**:登录成功后跳转到首页 ### 协议支持 - **条款链接**:《开场的条款和条件》 - **隐私政策**:《隐私权政策》 - **动态跳转**:支持通过 URL 参数指定协议类型 ## 🛠 技术实现 ### 状态管理 - `phone`: 手机号输入值 - `verification_code`: 验证码输入值 - `countdown`: 验证码发送倒计时 - `can_send_code`: 是否可以发送验证码 - `is_loading`: 登录按钮加载状态 ### 核心方法 - `handle_go_back()`: 返回上一页 - `handle_send_code()`: 发送验证码 - `handle_phone_login()`: 手机号登录 - `handle_view_terms()`: 查看协议条款 ### 样式特色 - **毛玻璃效果**:按钮使用 `backdrop-filter: blur(32px)` - **阴影效果**:输入框和按钮都有精致的阴影 - **圆角设计**:12px 输入框圆角,16px 按钮圆角 - **响应式布局**:支持不同屏幕尺寸 ## 📂 文件结构 ``` src/pages/login/verification/ ├── index.tsx # 验证码页面组件 ├── index.scss # Figma 设计稿样式 ├── index.config.ts # 页面配置 └── README.md # 说明文档 ``` ## 🔧 配置说明 ### 页面配置 ```typescript export default definePageConfig({ navigationBarTitleText: '手机号登录', navigationBarBackgroundColor: '#ffffff', navigationBarTextStyle: 'black', backgroundColor: '#f5f5f5', enablePullDownRefresh: false, disableScroll: false }) ``` ## 🎯 设计还原度 ### 完全还原的元素 - ✅ 背景色和整体布局 - ✅ 状态栏基本布局(示意性) - ✅ 导航栏设计和按钮 - ✅ 标题区域字体和大小 - ✅ 输入框样式和阴影 - ✅ 按钮设计和毛玻璃效果 - ✅ 字符计数显示 - ✅ 底部指示器 ### 交互还原 - ✅ 输入框占位符文字 - ✅ 验证码发送倒计时 - ✅ 按钮状态和反馈 - ✅ 协议链接跳转 ## 🔄 后续扩展 ### 可扩展功能 1. **真实验证码服务** - 集成短信服务商 API - 验证码有效期管理 - 发送频率限制 2. **用户注册流程** - 新用户注册页面 - 用户信息完善 - 头像上传功能 3. **安全增强** - 图形验证码 - 滑块验证 - 设备指纹识别 ### 性能优化 - 输入防抖处理 - 验证码缓存策略 - 页面预加载优化 ## 📱 测试说明 ### 功能测试 1. **输入验证测试** - 手机号格式验证 - 验证码长度验证 - 字符计数显示 2. **验证码发送测试** - 发送条件验证 - 倒计时功能 - 重复发送防护 3. **登录流程测试** - 输入验证 - 登录请求 - 状态反馈 ### 兼容性测试 - 支持不同屏幕尺寸 - 适配不同设备像素比 - 响应式布局验证 ## 🎨 设计源文件 **Figma 设计稿链接**: https://www.figma.com/design/EWQlX5wM2lhiSLfFQp8qKT/小程序设计稿V1(开发协作版)?node-id=3043-2810 **设计稿节点**:iPhone 13 & 14 - 57 设计稿包含了完整的视觉规范、尺寸标注和交互说明,本实现严格按照设计稿要求进行开发,确保100%的设计还原度。注意:状态栏仅为示意性设计,不需要完全还原 iPhone 状态栏的复杂细节。