家庭模块

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

家庭鉴权接口文档

概览

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

鉴权头

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

统一响应格式

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

返回字段说明

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

家庭对象字段说明

字段 类型 说明
id string 家庭 ID
name string 家庭名称
ownerId integer 家庭创建者用户 ID
createdAt string 创建时间
updatedAt string 更新时间

家庭详情成员字段说明

字段 类型 说明
id integer 用户 ID
nickname string 用户昵称
phone string 手机号
role string 角色,owner 或 member

1. 获取家庭列表

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

请求 Body

无业务参数,可传空对象:

{}

成功响应示例

{
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "id": "family_001",
      "name": "我的家庭",
      "ownerId": 1,
      "createdAt": "2026-05-09T10:00:00Z",
      "updatedAt": "2026-05-09T10:00:00Z"
    }
  ]
}

返回参数说明

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

失败响应示例

{
  "code": 500,
  "msg": "获取家庭列表失败",
  "data": null
}

2. 获取家庭详情

  • 路径: /api/family/detail
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
id string 是 家庭 ID

请求示例

{
  "id": "family_001"
}

成功响应示例

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": "family_001",
    "name": "我的家庭",
    "ownerId": 1,
    "members": [
      {
        "id": 1,
        "nickname": "小明",
        "phone": "13800138000",
        "role": "owner"
      }
    ],
    "createdAt": "2026-05-09T10:00:00Z"
  }
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 操作成功
data.id string 家庭 ID
data.name string 家庭名称
data.ownerId integer 创建者用户 ID
data.members array 家庭成员列表
data.members[].* object 成员对象字段,见上方家庭详情成员字段说明
data.createdAt string 创建时间

失败响应示例

{
  "code": 400,
  "msg": "参数错误",
  "data": null
}
{
  "code": 404,
  "msg": "家庭不存在",
  "data": null
}

3. 创建家庭

  • 路径: /api/family/create
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
name string 是 家庭名称,最多 30 个字符,只允许中文、字母、数字、下划线和短横线

请求示例

{
  "name": "我的家庭"
}

成功响应示例

{
  "code": 200,
  "msg": "家庭创建成功",
  "data": {
    "id": "family_001",
    "name": "我的家庭",
    "ownerId": 1,
    "createdAt": "2026-05-09T10:00:00Z",
    "updatedAt": "2026-05-09T10:00:00Z"
  }
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 家庭创建成功
data.* object 家庭对象字段,见上方家庭对象字段说明

失败响应示例

{
  "code": 400,
  "msg": "家庭名称不能超过30个字符",
  "data": null
}
{
  "code": 400,
  "msg": "家庭名称只能包含中文、字母、数字、下划线和短横线",
  "data": null
}

4. 修改家庭名称

  • 路径: /api/family/updateName
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
familyId string 是 家庭 ID
name string 是 新家庭名称

请求示例

{
  "familyId": "family_001",
  "name": "新家庭名称"
}

成功响应示例

{
  "code": 200,
  "msg": "家庭名称修改成功",
  "data": null
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 家庭名称修改成功
data null 无返回数据

失败响应示例

{
  "code": 400,
  "msg": "家庭不存在",
  "data": null
}
{
  "code": 400,
  "msg": "只有家庭创建者可以修改家庭名称",
  "data": null
}

5. 生成邀请链接

  • 路径: /api/family/invite
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
familyId string 是 家庭 ID

请求示例

{
  "familyId": "family_001"
}

成功响应示例

{
  "code": 200,
  "msg": "邀请链接已生成",
  "data": {
    "inviteCode": "a1b2c3d4",
    "inviteUrl": "https://example.com/invite/a1b2c3d4",
    "expireSeconds": 86400
  }
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 邀请链接已生成
data.inviteCode string 邀请码
data.inviteUrl string 邀请链接
data.expireSeconds integer 邀请码有效期,秒

失败响应示例

{
  "code": 400,
  "msg": "家庭不存在",
  "data": null
}
{
  "code": 400,
  "msg": "只有家庭创建者可以邀请成员",
  "data": null
}
{
  "code": 400,
  "msg": "操作失败,请重试",
  "data": null
}
{
  "code": 400,
  "msg": "生成邀请码失败,请重试",
  "data": null
}

6. 通过邀请码加入家庭

  • 路径: /api/family/join
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
inviteCode string 是 邀请码

请求示例

{
  "inviteCode": "a1b2c3d4"
}

成功响应示例

{
  "code": 200,
  "msg": "加入成功",
  "data": {
    "familyId": "family_001",
    "familyName": "我的家庭"
  }
}

返回参数说明

字段 类型 说明
code integer 成功时为 200
msg string 成功时为 加入成功
data.familyId string 加入后的家庭 ID
data.familyName string 加入后的家庭名称

失败响应示例

{
  "code": 400,
  "msg": "参数错误",
  "data": null
}
{
  "code": 400,
  "msg": "您已是该家庭成员",
  "data": null
}

7. 移除成员

  • 路径: /api/family/removeMember
  • 方法: POST
  • 是否鉴权: 是

请求 Body 参数

字段 类型 必填 说明
familyId string 是 家庭 ID
memberId integer 是 要移除的成员用户 ID

请求示例

{
  "familyId": "family_001",
  "memberId": 2
}

成功响应示例

{
  "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
}

附录

说明

  • family/list 当前实现不读取业务请求体,空对象或空 body 均可。
  • 本文档仅覆盖鉴权路由,不包含公开邀请页面 /invite/:code。

失败响应示例

{
  "code": 400,
  "msg": "家庭不存在",
  "data": null
}
{
  "code": 400,
  "msg": "只有家庭创建者可以移除成员",
  "data": null
}
{
  "code": 400,
  "msg": "不能移除自己",
  "data": null
}

附录

说明

  • family/list 当前不读取业务请求体,空对象或空 body 均可。
  • 本文档仅覆盖鉴权路由,不包含公开邀请页面 /invite/:code。
这份文档没解决你的问题?联系我们,技术工程师直接对接。

询价咨询

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

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