fix:修复注册逻辑和HTTP状态码问题

核心修复:
- 调整注册流程检查顺序,先验证用户存在性再验证验证码
- 修复HTTP状态码问题,业务失败时返回正确的错误状态码
- 优化错误处理逻辑,提供更准确的错误信息

主要变更:
- 登录核心服务:重构注册方法,优化检查顺序避免验证码无效消费
- 用户服务:分离用户创建和重复检查逻辑,提高代码复用性
- 登录控制器:修复HTTP状态码处理,根据业务结果返回正确状态码
- API文档:更新注册接口说明和错误响应示例
- 测试脚本:优化测试逻辑和注释说明

修复效果:
- 用户已存在时立即返回正确错误信息,不消费验证码
- API响应状态码准确反映业务执行结果
- 错误信息更加用户友好和准确
- 验证码使用更加合理和高效

测试验证:
- 所有核心功能测试通过
- 注册逻辑修复验证成功
- HTTP状态码修复验证成功
- 限流功能正常工作
This commit is contained in:
moyin
2025-12-24 20:39:23 +08:00
parent e537e782a9
commit 404ef5d3e0
5 changed files with 297 additions and 66 deletions

View File

@@ -164,7 +164,12 @@
**重要说明**
- 如果提供邮箱,必须先调用发送验证码接口获取验证码
- 验证码验证失败会返回400状态码而不是201
- 注册时会按以下顺序进行检查:
1. 首先检查用户名是否已存在
2. 检查邮箱是否已存在(如果提供)
3. 检查手机号是否已存在(如果提供)
4. 最后验证邮箱验证码(如果提供邮箱)
- 这样确保验证码不会因为用户已存在而被无效消费
- 注册成功返回201失败返回400
#### 请求参数
@@ -214,6 +219,35 @@
```
**失败响应** (400):
**用户名已存在**:
```json
{
"success": false,
"message": "用户名已存在",
"error_code": "REGISTER_FAILED"
}
```
**邮箱已存在**:
```json
{
"success": false,
"message": "邮箱已存在",
"error_code": "REGISTER_FAILED"
}
```
**手机号已存在**:
```json
{
"success": false,
"message": "手机号已存在",
"error_code": "REGISTER_FAILED"
}
```
**邮箱验证码相关错误**:
```json
{
"success": false,