upload project source code

This commit is contained in:
2026-04-30 18:49:43 +08:00
commit 9b394ba682
2277 changed files with 660945 additions and 0 deletions

View File

@@ -0,0 +1,158 @@
# 登录系统重构总结
## 重构内容
已完全舍弃小程序登录逻辑,使用新的手机号登录/注册系统。
## 新增的 API 接口
### 1. 发送短信验证码
```typescript
userApi.sendSmsCode(mobile: string)
```
### 2. 手机号密码注册
```typescript
userApi.mobileRegister({
mobile: string,
password: string,
repassword: string,
verification_code: string,
inviter_id?: number
})
```
### 3. 手机号密码登录
```typescript
userApi.mobileLogin({
mobile: string,
password: string,
inviter_id?: number
})
```
### 4. 忘记密码(重置密码)
```typescript
userApi.forgotPassword({
mobile: string,
password: string,
repassword: string,
verification_code: string
})
```
## 新登录页面功能
### 1. 三个标签页
- **登录**:手机号 + 密码登录
- **注册**:手机号 + 验证码 + 密码注册
- **忘记密码**:手机号 + 验证码 + 新密码重置
### 2. 表单验证
- 手机号格式验证1开头的11位数字
- 密码长度验证6-20位
- 两次密码一致性验证
- 验证码长度验证6位
### 3. 验证码功能
- 60秒倒计时
- 防重复发送
- 自动禁用按钮
### 4. 密码显示/隐藏
- 点击眼睛图标切换密码可见性
- 支持所有密码输入框
### 5. 样式设计
- 与首页风格一致
- 使用宋体字体
- 古典中国风配色(#8b2323 主色调)
- 米纸纹理背景
- 圆润的卡片设计
- 流畅的动画效果
## 页面结构
```
pages/login/login.vue (容器页面)
└── components/screens/Login.vue (登录组件)
```
## 使用流程
### 新用户注册
1. 点击"注册"标签
2. 输入手机号
3. 点击"获取验证码"
4. 输入收到的验证码
5. 设置密码并确认
6. 点击"注册"按钮
7. 自动登录并跳转
### 老用户登录
1. 默认在"登录"标签
2. 输入手机号和密码
3. 点击"登录"按钮
4. 自动跳转到首页
### 忘记密码
1. 点击"忘记密码?"
2. 输入手机号
3. 点击"获取验证码"
4. 输入验证码
5. 设置新密码并确认
6. 点击"重置密码"
7. 自动登录并跳转
## 技术特点
### 1. 响应式设计
- 最大宽度 500px
- 居中显示
- 适配各种屏幕尺寸
### 2. 用户体验
- 实时表单验证
- 按钮禁用状态
- 加载状态提示
- 错误提示
- 成功提示
### 3. 安全性
- 密码加密传输
- 验证码验证
- 防重复提交
- Token 认证
### 4. 代码质量
- TypeScript 类型安全
- 组件化设计
- 清晰的代码结构
- 完善的错误处理
## 样式特色
- 背景:米纸纹理 + 旋转渐变
- 主色:#8b2323(中国红)
- 字体SimSun, Songti SC宋体
- 圆角16px卡片、8px输入框、24px按钮
- 阴影:柔和的投影效果
- 动画:旋转背景、按钮点击效果
## 测试建议
1. 测试注册流程
2. 测试登录流程
3. 测试忘记密码流程
4. 测试表单验证
5. 测试验证码倒计时
6. 测试错误处理
7. 测试响应式布局
## 注意事项
1. 需要后端支持短信验证码发送
2. 验证码有效期由后端控制
3. 密码强度建议由后端验证
4. Token 过期处理已在 request.ts 中实现
5. 所有 API 调用都有 loading 状态