跳转至

06. 通联记录与日志

1. 通信记录 Comm Records(JWT)

GET /api/comm-records

参数: - page - page_size - device_id - group_id - user_id(仅管理员全局模式) - admin_mode=true(管理员后台查看全局)

返回示例:

{
  "code": 200,
  "message": "成功",
  "data": {
    "list": [
      {
        "id": 10001,
        "device_id": 123,
        "device_name": "BG7XXX-11",
        "dev_model": 107,
        "group_id": 1001,
        "group_name": "深圳应急群",
        "start_time": "2026-04-05 14:22:01",
        "end_time": "2026-04-05 14:22:06",
        "duration_ms": 5000,
        "msg_type": 0,
        "audio_url": "https://.../xxx.opus"
      }
    ],
    "total": 1,
    "page": 1,
    "page_size": 20
  }
}

GET /api/comm-records/:id

DELETE /api/comm-records/:id(Admin)

2. 通信统计

用户侧(JWT)

  • GET /api/comm-records/user-stats
  • GET /api/comm-records/user-trend

返回(示例):

{ "code": 200, "data": { "total_count": 120, "total_size": 93842012, "total_duration": 1280000 } }

管理侧(Admin)

  • GET /api/comm-records/stats(录制器内部统计)
  • GET /api/comm-records/system-stats
  • GET /api/comm-records/system-trend

3. 通信设置(Admin)

GET /api/config/comm-settings

PUT /api/config/comm-settings

请求:

{
  "enabled": true,
  "retention_days": 30,
  "min_duration_ms": 300,
  "max_duration_sec": 180,
  "batch_upload_sec": 10
}

4. 通联日志 Logbook(JWT)

用户接口

  • GET /api/logbooks
  • GET /api/logbooks/:id
  • POST /api/logbooks
  • PUT /api/logbooks/:id
  • DELETE /api/logbooks/:id
  • DELETE /api/logbooks/batch

创建请求示例:

{
  "my_callsign": "BG7XXX",
  "time_utc": "2026-04-05 06:35:20",
  "tx_frequency": 439.5000,
  "rx_frequency": 439.5000,
  "mode": "FM",
  "callsign": "BG7YYY",
  "their_rst": "59",
  "my_rst": "59",
  "notes": "首次通联"
}

批量删除请求:

{ "ids": [101, 102, 103] }

管理员接口(Admin)

  • GET /api/admin/logbooks
  • GET /api/admin/logbooks/:id
  • PUT /api/admin/logbooks/:id
  • DELETE /api/admin/logbooks/:id
  • DELETE /api/admin/logbooks/batch

5. 电台预设(JWT)

  • GET /api/user/radio-presets
  • POST /api/user/radio-presets
  • PUT /api/user/radio-presets/:id
  • DELETE /api/user/radio-presets/:id
  • PUT /api/user/radio-presets/reorder

创建请求示例:

{
  "name": "车载台",
  "radio": "YAESU FTM-300",
  "antenna": "车载吸盘",
  "power": 25,
  "qth": "Shenzhen",
  "sort_order": 10
}

排序请求示例:

{ "orders": [{ "id": 1, "order": 1 }, { "id": 2, "order": 2 }] }