注册登录

宠物喂食器(ODM 案例) · APP服务端接口

用户注册登录接口文档

概览

  • 基础路径: /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。
这份文档没解决你的问题?联系我们,技术工程师直接对接。

询价咨询

填写这几项,我们 1 个工作日内回传报价与方案

点「生成询价邮件」会打开你的邮件客户端,正文已自动填好;电脑没配邮件客户端,就点「复制内容」粘到网页邮箱发送,收件人 sunshiyang@xstrive.com。