宠物模块

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

宠物鉴权接口文档

概览

  • 基础路径: /api
  • 文档范围: 鉴权路由中的 pet 模块接口
  • 鉴权方式: 请求头 X-Token
  • Content-Type: application/json

鉴权头

字段 类型 必填 说明
X-Token string 是 用户登录后获得的 JWT Token

统一响应格式

{
  "code": 200,
  "msg": "操作成功",
  "data": {}
}

返回字段说明

字段 类型 说明
code integer 业务状态码,200 表示成功,其他值表示失败
msg string 响应消息
data object/array/null 业务数据

通用鉴权失败响应

{
  "code": 401,
  "msg": "未登录或登录过期",
  "data": null
}
{
  "code": 401,
  "msg": "登录已过期,请重新登录",
  "data": null
}

宠物对象字段说明

字段 类型 说明
id string 宠物公开 ID
userId integer 所属用户 ID
deviceId string 关联设备 ID
name string 宠物名称
type string 宠物类型,如 狗狗、猫咪、其他
breed string 品种
age string 年龄段,如 幼年、成年、老年
gender string 性别,如 男生、女生
avatar string 宠物头像标识,当前通常为 emoji 或短字符串
weight integer 体重,单位克
createdAt string 创建时间
updatedAt string 更新时间

1. 获取宠物列表

  • 路径: /api/pet/list
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
deviceId string 否 设备唯一标识。不传时按当前用户查询所有宠物,传入时按设备查询

请求示例

{
  "deviceId": "dev_001"
}

也可传空对象:

{}

成功响应示例

{
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "id": "pet_001",
      "userId": 1,
      "deviceId": "dev_001",
      "name": "豆豆",
      "type": "猫咪",
      "breed": "英短",
      "age": "成年",
      "gender": "女生",
      "avatar": "🐱",
      "weight": 4200,
      "createdAt": "2026-05-09T10:00:00Z",
      "updatedAt": "2026-05-09T10:00:00Z"
    }
  ]
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 操作成功
data array 宠物列表
data[].* object 宠物对象,字段见上方宠物对象字段说明

失败响应示例

{
  "code": 400,
  "msg": "参数错误",
  "data": null
}
{
  "code": 500,
  "msg": "获取宠物列表失败",
  "data": null
}

2. 添加宠物

  • 路径: /api/pet/add
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
deviceId string 否 关联设备 ID。传入时服务端会校验设备存在且归当前用户所有
name string 是 宠物名称
type string 是 宠物类型,如 狗狗、猫咪、其他
breed string 否 品种
age string 否 年龄段
gender string 否 性别
avatar string 否 头像标识
weight integer 否 体重,单位克

请求示例

{
  "deviceId": "dev_001",
  "name": "豆豆",
  "type": "猫咪",
  "breed": "英短",
  "age": "成年",
  "gender": "女生",
  "avatar": "🐱",
  "weight": 4200
}

成功响应示例

{
  "code": 200,
  "msg": "宠物添加成功",
  "data": {
    "id": "pet_001",
    "userId": 1,
    "deviceId": "dev_001",
    "name": "豆豆",
    "type": "猫咪",
    "breed": "英短",
    "age": "成年",
    "gender": "女生",
    "avatar": "🐱",
    "weight": 4200,
    "createdAt": "2026-05-09T10:00:00Z",
    "updatedAt": "2026-05-09T10:00:00Z"
  }
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 宠物添加成功
data object 新建的宠物对象
data.* mixed 宠物对象字段,见上方宠物对象字段说明

失败响应示例

{
  "code": 400,
  "msg": "参数错误",
  "data": null
}
{
  "code": 400,
  "msg": "设备不存在",
  "data": null
}
{
  "code": 400,
  "msg": "无权限操作",
  "data": null
}

3. 更新宠物信息

  • 路径: /api/pet/update
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
id string 是 宠物公开 ID
name string 否 新宠物名称
breed string 否 新品种
age string 否 新年龄段
gender string 否 新性别
avatar string 否 新头像标识
weight integer 否 新体重,单位克,仅当大于 0 时更新

请求示例

{
  "id": "pet_001",
  "name": "豆豆",
  "breed": "金渐层",
  "age": "成年",
  "gender": "女生",
  "avatar": "🐱",
  "weight": 4500
}

成功响应示例

{
  "code": 200,
  "msg": "宠物信息已更新",
  "data": null
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 宠物信息已更新
data null 无返回数据

失败响应示例

{
  "code": 400,
  "msg": "参数错误",
  "data": null
}
{
  "code": 400,
  "msg": "宠物不存在",
  "data": null
}
{
  "code": 400,
  "msg": "无权限操作",
  "data": null
}

4. 删除宠物

  • 路径: /api/pet/delete
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
id string 是 宠物公开 ID

请求示例

{
  "id": "pet_001"
}

成功响应示例

{
  "code": 200,
  "msg": "宠物已删除",
  "data": null
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 宠物已删除
data null 无返回数据

失败响应示例

{
  "code": 400,
  "msg": "参数错误",
  "data": null
}
{
  "code": 400,
  "msg": "宠物不存在",
  "data": null
}
{
  "code": 400,
  "msg": "无权限操作",
  "data": null
}

附录

说明

  • 获取宠物列表返回数组;无数据时返回空数组,而不是 null。
  • 添加宠物时,deviceId 可为空;为空时宠物仅归属用户,不强制绑定设备。
  • 更新宠物时,type 和 deviceId 当前不支持修改;仅支持更新名称、品种、年龄、性别、头像和体重。
这份文档没解决你的问题?联系我们,技术工程师直接对接。

询价咨询

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

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