首页 / 文档中心 / 宠物喂食器(ODM 案例) / 注册登录
注册登录
用户注册登录接口文档
概览
- 基础路径: /api
- 统一响应格式:
{
"code": 200,
"msg": "操作成功",
"data": {}
}
字段说明:
- code: 业务状态码,200 表示成功,其他值表示失败
- msg: 响应消息
- data: 业务数据,可能为 null
1. 发送验证码
- 路径: /api/user/sendCode
- 方法: POST
- 是否鉴权: 否
- Content-Type: application/json
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号,长度必须为 11 |
| source | int | 是 | 验证码来源,1=登录,2=注册,3=找回密码 |
请求示例
{
"phone": "13800138000",
"source": 2
}
成功响应示例
{
"code": 200,
"msg": "验证码发送成功",
"data": {
"expireSeconds": 300
}
}
失败响应示例
{
"code": 400,
"msg": "手机号格式不正确",
"data": null
}
{
"code": 400,
"msg": "验证码来源不正确",
"data": null
}
说明:
- 服务端会生成随机 6 位验证码。
- 验证码有效期 300 秒。
- source 不同,验证码会分开存储,互不影响。
- 当同一手机号在同一 source 下已有验证码且剩余有效期大于 60 秒时,服务端会直接返回成功,不重复发送短信。
- source=1 使用登录通用验证码模板,source=2 使用注册验证码模板,source=3 使用找回密码验证码模板。
2. 用户注册
- 路径: /api/user/register
- 方法: POST
- 是否鉴权: 否
- Content-Type: application/json
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号 |
| code | string | 是 | 验证码 |
| password | string | 否 | 密码,不传则创建无密码账号 |
| nickname | string | 否 | 昵称,最多 30 个字符 |
请求示例
{
"phone": "13800138000",
"code": "123456",
"password": "12345678",
"nickname": "小明"
}
成功响应示例
{
"code": 200,
"msg": "注册成功",
"data": null
}
失败响应示例
{
"code": 400,
"msg": "验证码错误或已过期",
"data": null
}
{
"code": 400,
"msg": "该手机号已注册",
"data": null
}
{
"code": 400,
"msg": "昵称不能超过30个字符",
"data": null
}
说明:
- 注册成功后不直接返回 token,需要调用登录接口获取。
- 验证码校验使用一次性消费(GetDel),同一验证码不能重复使用。
3. 用户登录
- 路径: /api/user/login
- 方法: POST
- 是否鉴权: 否
- Content-Type: application/json
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号 |
| code | string | 否 | 验证码登录,和 password 二选一,code 优先 |
| password | string | 否 | 密码登录 |
请求示例(验证码登录)
{
"phone": "13800138000",
"code": "123456"
}
请求示例(密码登录)
{
"phone": "13800138000",
"password": "12345678"
}
成功响应示例
{
"code": 200,
"msg": "登录成功",
"data": {
"id": 1,
"phone": "13800138000",
"nickname": "小明",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI...",
"expiresIn": 86400
}
}
失败响应示例
{
"code": 400,
"msg": "用户不存在",
"data": null
}
{
"code": 400,
"msg": "请提供验证码或密码",
"data": null
}
{
"code": 400,
"msg": "验证码错误或已过期",
"data": null
}
{
"code": 400,
"msg": "密码错误",
"data": null
}
附录
登录逻辑优先级
- 当 code 非空时,优先走验证码登录。
- 只有 code 为空且 password 非空时,才走密码登录。
Token 使用
- 登录成功后,请将 token 放到请求头 Authorization 中。
- 需要鉴权的接口由服务端中间件 Auth 校验 token。
这份文档没解决你的问题?联系我们,技术工程师直接对接。