跳转至

04. 群组与互联

1. 群组查询与基础操作(JWT + Approved)

GET /api/groups

参数:pagepage_sizekeyword

返回示例:

{
  "code": 200,
  "message": "成功",
  "data": {
    "items": [
      {
        "id": 1001,
        "name": "深圳应急群",
        "type": 1,
        "is_joined": true,
        "is_owner": false,
        "online_count": 12,
        "total_count": 53
      }
    ],
    "total": 1,
    "page": 1,
    "page_size": 20
  }
}

GET /api/group/list(兼容)

GET /api/groups/:id

GET /api/groups/:id/devices

返回设备列表含 disable_send/disable_recv(仅设备级状态)。

POST /api/groups

POST /api/group/create(兼容)

请求:

{
  "name": "深圳私有群",
  "type": 2,
  "password": "123456",
  "callsign": "BG7XXX",
  "allow_callsign_ssid": "BG7XXX-11",
  "note": "内部使用"
}

POST /api/groups/search

请求:

{ "keyword": "深圳", "page": 1, "page_size": 20 }

POST /api/groups/:id/join

请求:

{ "password": "123456" }

GET /api/groups/:id/members

说明:当前实现仅群主可查看。

POST /api/groups/:id/leave

说明:仅私有群支持退出,群主不能退出自己创建的群。

2. 群组管理(Admin/GroupOwner)

说明:群组仅负责成员资格与设备踢出,不再提供群组级收发控制入口。

PUT /api/groups/:id

请求:

{
  "name": "深圳私有群-新",
  "type": 2,
  "password": "654321",
  "status": 1,
  "note": "更新备注"
}

DELETE /api/groups/:id

DELETE /api/groups/:id/devices/:deviceId

功能:踢出设备并移入默认群组。

设备禁发/禁收调整请使用设备接口:

PUT /api/devices/:id

请求体可包含:

{ "disable_send": true, "disable_recv": false }

3. 兼容旧接口说明

  • POST /api/group/update
  • POST /api/group/delete

这两个旧路径与当前处理器参数方式不一致(处理器读取 :id),客户端请使用新路径 PUT/DELETE /api/groups/:id

4. 虚拟互联组(Admin)

POST /api/group-links

请求:

{ "name": "华南互联组", "note": "跨群互联", "status": 1 }

GET /api/group-links/:id

PUT /api/group-links/:id

DELETE /api/group-links/:id

GET /api/group-links/available-targets

功能:获取可被关联的目标群组(非虚拟组)。

GET /api/group-links/:id/targets

POST /api/group-links/:id/targets

请求:

{ "target_group_id": 1001 }

返回:

{ "code": 200, "message": "添加成功", "data": { "link_group_id": 2001, "target_group_id": 1001, "target_count": 3 } }

DELETE /api/group-links/:id/targets/:targetId