Merge pull request 'fix(docs): 修正API文档中的错误码和验证码说明' (#23) from docs-change-api-document into main

Reviewed-on: datawhale/whale-town-end#23
This commit is contained in:
2025-12-25 16:06:44 +08:00

View File

@@ -209,12 +209,12 @@
{ {
"success": false, "success": false,
"message": "验证码错误或已过期", "message": "验证码错误或已过期",
"error_code": "VERIFICATION_CODE_INVALID" "error_code": "VERIFICATION_CODE_LOGIN_FAILED"
} }
``` ```
**可能的错误码**: **可能的错误码**:
- `VERIFICATION_CODE_INVALID`: 验证码错误或已过期 - `VERIFICATION_CODE_LOGIN_FAILED`: 验证码错误或已过期
- `USER_NOT_FOUND`: 用户不存在 - `USER_NOT_FOUND`: 用户不存在
- `EMAIL_NOT_VERIFIED`: 邮箱未验证(邮箱登录时) - `EMAIL_NOT_VERIFIED`: 邮箱未验证(邮箱登录时)
- `INVALID_IDENTIFIER`: 无效的邮箱或手机号格式 - `INVALID_IDENTIFIER`: 无效的邮箱或手机号格式
@@ -271,7 +271,7 @@
{ {
"success": false, "success": false,
"message": "用户不存在", "message": "用户不存在",
"error_code": "USER_NOT_FOUND" "error_code": "SEND_LOGIN_CODE_FAILED"
} }
``` ```
@@ -1495,6 +1495,8 @@ const cleanupTestData = async () => {
|----------|------------|------|----------| |----------|------------|------|----------|
| VERIFICATION_CODE_EXPIRED | 400 | 验证码已过期 | 验证码超过有效期5分钟 | | VERIFICATION_CODE_EXPIRED | 400 | 验证码已过期 | 验证码超过有效期5分钟 |
| VERIFICATION_CODE_INVALID | 400 | 验证码无效 | 验证码格式错误或不存在 | | VERIFICATION_CODE_INVALID | 400 | 验证码无效 | 验证码格式错误或不存在 |
| VERIFICATION_CODE_LOGIN_FAILED | 401 | 验证码登录失败 | 验证码错误、已过期或用户邮箱未验证 |
| SEND_LOGIN_CODE_FAILED | 400/404 | 发送登录验证码失败 | 用户不存在或发送服务异常 |
| VERIFICATION_CODE_ATTEMPTS_EXCEEDED | 400 | 验证码尝试次数过多 | 错误尝试超过3次 | | VERIFICATION_CODE_ATTEMPTS_EXCEEDED | 400 | 验证码尝试次数过多 | 错误尝试超过3次 |
| VERIFICATION_CODE_RATE_LIMITED | 429 | 验证码发送频率限制 | 1分钟内重复发送 | | VERIFICATION_CODE_RATE_LIMITED | 429 | 验证码发送频率限制 | 1分钟内重复发送 |
| VERIFICATION_CODE_HOURLY_LIMIT | 429 | 验证码每小时限制 | 1小时内发送超过5次 | | VERIFICATION_CODE_HOURLY_LIMIT | 429 | 验证码每小时限制 | 1小时内发送超过5次 |
@@ -1921,8 +1923,10 @@ MAINTENANCE_RETRY_AFTER=1800
2. **令牌**: 示例中的access_token是JWT格式需要妥善保存 2. **令牌**: 示例中的access_token是JWT格式需要妥善保存
3. **验证码**: 3. **验证码**:
- 实际应用中不应在响应中返回验证码 - 实际应用中不应在响应中返回验证码
- 测试模式下会在控制台显示验证码 - 测试模式下会在控制台显示验证码,或通过调试接口获取
- 验证码有效期通常为5-15分钟 - 验证码有效期通常为5分钟
- 验证码登录要求邮箱已验证email_verified=true
- 调试接口:`POST /auth/debug-verification-code` 可获取验证码详情
4. **用户ID**: 修改密码接口中的user_id应从JWT令牌中获取而不是从请求体中传递 4. **用户ID**: 修改密码接口中的user_id应从JWT令牌中获取而不是从请求体中传递
5. **错误处理**: 建议在客户端实现适当的错误处理和用户提示 5. **错误处理**: 建议在客户端实现适当的错误处理和用户提示
6. **限流**: 建议对登录、注册等接口实施限流策略 6. **限流**: 建议对登录、注册等接口实施限流策略
@@ -1937,6 +1941,11 @@ MAINTENANCE_RETRY_AFTER=1800
- 注册时如果提供邮箱,需要先获取验证码 - 注册时如果提供邮箱,需要先获取验证码
- 支持重新发送验证码功能 - 支持重新发送验证码功能
- 调试接口仅用于开发环境 - 调试接口仅用于开发环境
10. **验证码登录**:
- 验证码登录需要用户邮箱已验证
- 支持邮箱和手机号两种方式
- 验证码类型为 `login_verification`
- 与注册验证码是不同的验证码类型
## 常见测试场景 ## 常见测试场景