Files
mini-programs/src/login_pages/verification/README.md
张成 ca4b52570f 1
2026-02-06 10:37:30 +08:00

187 lines
5.4 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.
# 手机号验证码登录页面 - 基于 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:'#FAFAFA',
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 状态栏的复杂细节。