06. 管理员后台¶
管理员用户可进入 /admin 后台。后台菜单包括:
- 系统数据
- 用户管理
- 设备管理
- 幽灵会话
- 群组管理
- 通信记录
- 客户端资源分发与资源管理
- 站点配置
1. 系统数据¶
后台首页 /admin/dashboard 展示系统全局统计:
- 总设备数。
- 在线设备。
- 群组数量。
- 用户数量。
- 通信记录数。
- 通信总大小。
- 通信总时长。
- 通信趋势。
相关 API:
| Method | Path | Auth | 说明 |
|---|---|---|---|
| GET | /api/platform/totalstats |
Public | 平台统计。 |
| GET | /api/comm-records/system-stats |
Admin | 系统通信统计。 |
| GET | /api/comm-records/system-trend |
Admin | 系统通信趋势。 |
2. 用户管理¶
后台用户管理包含:
- 账号管理
/admin/users - 用户审批
/admin/approvals - 操作证审批
/admin/certificate-approvals
管理员可:
- 查询用户列表。
- 查看用户详情。
- 修改用户资料、角色、状态。
- 禁用/启用用户。
- 删除用户。
- 重置用户密码。
- 按需读取用户设备准入密码;该敏感值不会随用户列表返回。
- 审批注册用户。
- 审批操作证和呼号变更。
相关 API:
| Method | Path | Auth | 说明 |
|---|---|---|---|
| GET | /api/users |
Admin | 用户列表。 |
| GET | /api/users/:id |
Admin | 用户详情。 |
| PUT | /api/users/:id |
Admin | 更新用户。 |
| DELETE | /api/users/:id |
Admin | 删除用户。 |
| PUT | /api/users/:id/status |
Admin | 更新用户状态。 |
| PUT | /api/users/:id/password |
JWT | 管理员或本人改密码。 |
| GET | /api/admin/users/:id/device-password |
Admin | 按需读取设备准入密码,响应禁止缓存。 |
| GET | /api/approvals/pending |
Admin | 用户审批列表。 |
| PUT | /api/approvals/:id/approve |
Admin | 用户审批。 |
| GET | /api/certificate-approvals |
Admin | 操作证审批列表。 |
| PUT | /api/operator-certificates/:id/approve |
Admin | 操作证审批。 |
3. 设备管理¶
后台设备管理包含:
- 客户端
/admin/devices - 幽灵会话
/admin/radio-sessions - 中继台
/admin/relays - 服务器
/admin/servers
管理员客户端管理与用户设备管理类似,但可查看全局设备,并可读取、修改、同步任意设备配置。
相关 API:
| Method | Path | Auth | 说明 |
|---|---|---|---|
| GET | /api/devices |
JWT+Approved | 设备列表。 |
| GET | /api/admin/devices/:id/config |
Admin | 任意设备配置读取。 |
| PUT | /api/admin/devices/:id/config |
Admin | 任意设备配置更新。 |
| POST | /api/admin/devices/:id/config/sync |
Admin | 任意设备配置下发。 |
| GET | /api/relays |
Admin | 中继台列表。 |
| POST | /api/relay/create |
Admin | 创建中继台。 |
| POST | /api/relay/update |
Admin | 更新中继台。 |
| POST | /api/relay/delete |
Admin | 删除中继台。 |
| GET | /api/servers |
Admin | 服务器列表。 |
| POST | /api/server/create |
Admin | 创建服务器。 |
| POST | /api/server/update |
Admin | 更新服务器。 |
| POST | /api/server/delete |
Admin | 删除服务器。 |
| GET | /api/admin/radio/sessions |
Admin | 在线幽灵 Session 摘要。 |
| DELETE | /api/admin/radio/sessions/:session_id |
Admin | 精确断开一个 Session。 |
| GET | /api/edge-nodes |
Admin | 边缘节点配置、在线状态、流量和投影指标。 |
| POST | /api/edge-nodes |
Admin | 创建边缘节点并签发一次性注册凭据。 |
| PUT | /api/edge-nodes/:id |
Admin | 更新节点和公网接入点字段。 |
| DELETE | /api/edge-nodes/:id |
Admin | 删除节点并使凭据失效。 |
4. 群组管理和互联管理¶
后台群组管理包含:
- 普通群组
/admin/groups - 互联管理
/admin/group-links
管理员可管理所有公开群组和私有群组,也可创建虚拟互联组。虚拟互联组本身是一个特殊群组,可关联多个目标群组,实现跨群组互联。
相关 API:
| Method | Path | Auth | 说明 |
|---|---|---|---|
| GET | /api/admin/groups |
Admin | 管理员全量群组列表。 |
| POST | /api/groups |
JWT+Approved | 创建群组。 |
| PUT | /api/groups/:id |
Admin/Owner | 更新群组。 |
| DELETE | /api/groups/:id |
Admin/Owner | 删除群组。 |
| POST | /api/group-links |
Admin | 创建虚拟互联组。 |
| GET | /api/group-links |
Admin | 互联组列表。 |
| GET | /api/group-links/available-targets |
Admin | 可关联目标群组。 |
| PUT | /api/group-links/:id |
Admin | 更新互联组。 |
| DELETE | /api/group-links/:id |
Admin | 删除互联组。 |
| POST | /api/group-links/:id/targets |
Admin | 增加关联目标。 |
| DELETE | /api/group-links/:id/targets/:targetId |
Admin | 移除关联目标。 |
5. 资源管理¶
资源管理 /admin/assets 是一个虚拟文件系统。管理员可创建文件夹、上传文件、重命名、移动、替换、删除资源。前台下载中心通过公开接口读取目录树和下载链接。
相关 API:
| Method | Path | Auth | 说明 |
|---|---|---|---|
| GET | /api/assets |
Admin | 资源列表。 |
| POST | /api/assets/folder |
Admin | 创建文件夹。 |
| POST | /api/assets/upload |
Admin | 上传文件。 |
| PUT | /api/assets/:id |
Admin | 更新资源。 |
| PUT | /api/assets/:id/move |
Admin | 移动资源。 |
| POST | /api/assets/:id/replace |
Admin | 覆盖文件。 |
| DELETE | /api/assets/:id |
Admin | 删除资源。 |
| GET | /api/assets/tree |
Public | 目录树。 |
| GET | /api/assets/folder/:id |
Public | 文件夹内容。 |
| GET | /api/assets/:id/download |
Public | 下载链接。 |
6. 客户端资源分发¶
后台导航把两个独立子系统归在“客户端资源分发”下:
- 通用资源
/admin/client-resources:先登记稳定资源身份,再创建 SemVer 草稿、上传 artifact、显式多选平台/架构组合并发布。安装包、模型、字库和词典使用同一套流程。 - 设备固件
/admin/firmware:继续按设备型号维护独立固件记录和 OTA 选择逻辑,不出现在通用资源 manifest。
通用 artifact 先浏览器直传 staging,后端流式计算 SHA-256 后提升为不可变对象。同一文件可绑定多个明确 target,但没有 universal 通配。已发布版本可进入编辑状态追加不冲突的 artifact,适合先发布 Android 再补充 Windows;已有 artifact 不可覆盖。删除版本会立即停止其 manifest 分发,并清理关联对象。资源页会显示当前管理员待完成的 staging 上传,可重新签发 complete 凭证继续提交。
创建版本时可以填写最低客户端版本、最低服务端版本、所需幽灵协议版本和服务端能力。发布确认会同时展示这些契约以及 final key、大小、SHA-256 和目标范围。当前服务端版本、协议或能力不满足时发布会被拒绝;dev 构建无法发布声明最低服务端 SemVer 的版本。
“对象审计”入口只读扫描 client-resources/ 和新固件 firmware/ final 对象,统计未被数据库引用的对象以及数据库引用缺失的对象。它不会自动删除对象,清理策略需要单独人工确认。
相关 API:
| Method | Path | Auth | 说明 |
|---|---|---|---|
| GET / POST | /api/client-resources |
Admin | 资源定义列表/创建。 |
| DELETE | /api/client-resources/:resource_id |
Admin | 级联删除资源、全部版本、artifact、target 和对象文件。 |
| GET / POST | /api/client-resources/:resource_id/releases |
Admin | 版本列表/创建草稿。 |
| POST | /api/client-resources/:resource_id/releases/:release_id/artifacts/complete |
Admin | 完成 artifact 直传或追加到已发布版本。 |
| POST | .../:release_id/publish |
Admin | 发布草稿。 |
| DELETE | .../:release_id |
Admin | 删除资源版本及关联对象。 |
| GET | /api/client-resources/staging |
Admin | 待完成上传列表。 |
| POST | /api/client-resources/staging/retry |
Admin | 重签待完成上传凭证。 |
| GET | /api/storage/audit |
Admin | 只读对象引用审计。 |
| GET | /api/firmware |
Admin | 固件列表。 |
| POST | /api/firmware/complete |
Admin | 完成固件直传。 |
| DELETE | /api/firmware/:id |
Admin | 删除固件。 |
完整协议见 客户端资源分发 和 固件与 OTA 升级。
7. 站点配置¶
站点配置 /admin/settings 包含:
- 系统信息:站点名称、简称、Logo、Favicon、语言、ICP。
- 接入点:发现服务时长参数、中心直连公网 UDP 地址、端口、地区、网络和优先级。
- APRS:服务器、端口、本机地址、本机端口、呼号、SSID、经纬度、海拔、日志。
- 通信设置:是否启用音频记录、保留天数、最小录制阈值、最大录制时长、批量上传间隔。
- SMTP:服务器地址、端口、SSL、发件人昵称、发件人邮箱、授权码。
- 注册设置:是否要求邮箱验证。
- 操作日志:按事件类型和关键字查询系统操作记录。
相关 API:
| Method | Path | Auth | 说明 |
|---|---|---|---|
| GET | /api/config/public |
Public | 公开站点配置。 |
| GET | /api/config/category/:category |
JWT | 分类配置读取。 |
| PUT | /api/config/system |
Admin | 系统配置更新。 |
| PUT | /api/config/icp |
Admin | ICP 配置更新。 |
| GET | /api/config/access-discovery |
Admin | 接入点发现配置读取。 |
| PUT | /api/config/access-discovery |
Admin | 接入点发现配置更新,保存后立即生效。 |
| PUT | /api/config/aprs |
Admin | APRS 配置更新。 |
| GET | /api/config/comm-settings |
Admin | 通信设置读取。 |
| PUT | /api/config/comm-settings |
Admin | 通信设置更新。 |
| GET | /api/config/registration |
Admin | 注册配置读取。 |
| PUT | /api/config/registration |
Admin | 注册配置更新。 |
| GET | /api/config/smtp |
Admin | SMTP 配置读取。 |
| PUT | /api/config/smtp |
Admin | SMTP 配置更新。 |
| GET | /api/operatorlog/list |
Admin | 操作日志列表。 |
| GET | /api/operatorlog/stats |
Admin | 操作日志统计。 |
| GET | /api/config/aprs/logs |
Admin | APRS 最近日志。 |
8. 缓存监控¶
缓存指标接口用于管理员查看和重置缓存统计,也可清空全部缓存。
相关 API:
| Method | Path | Auth | 说明 |
|---|---|---|---|
| GET | /api/cache/metrics |
Admin | 缓存指标。 |
| POST | /api/cache/metrics/reset |
Admin | 重置缓存指标。 |
| POST | /api/cache/clear |
Admin | 清空缓存。 |
| GET | /api/udp/metrics |
Admin | UDP、fan-out、幽灵 Session、WebSocket 和消息 API 指标。 |