fda82fe313
## 变更 - 权限目录新增一级分组“监控审计”,统一设备存活、埋点成功率、埋点日志和审计日志。 - 补齐 `analytics-health` 页面权限,技术角色默认拥有四项监控审计权限;运营默认仅保留设备存活。 - 新增服务端 `require_page` 守卫,四组 API 不再只依赖前端隐藏导航,直接调用也会校验角色或个人页面权限。 - 增加迁移,为存量技术角色补上 `analytics-health` 权限,并同步接口文档。 ## 验证 - 改动文件 `ruff check` 通过。 - `tests/test_admin_roles.py tests/test_analytics_health.py`: 24 passed。 - Alembic 从空库 upgrade 到 head,再 downgrade 本迁移:通过。 - 全量测试:443 passed、6 failed;6 项失败在干净 `origin/main` 上原样复现(主干为 442 passed、6 failed),与本 PR 无关。 --------- Co-authored-by: unknown <798648091@qq.com> Reviewed-on: #159 Co-authored-by: linkeyu <linkeyu@wonderable.ai> Co-committed-by: linkeyu <linkeyu@wonderable.ai>
1.0 KiB
1.0 KiB
/admin/api/device-liveness — 设备存活监控(#80)
所属:Admin 子应用(前缀
/admin/api) | 鉴权:admin +device-liveness页面权限 | 表 device_liveness | ← 返回 API 索引
无障碍保护存活的后台视角:哪些设备开过保护(ever_protected)、现在在线还是掉线(心跳超时,#107 起阈值 1 小时)、首次开启时间(first_protected_at)。
端点
| 方法 + 路径 | 说明 |
|---|---|
GET /admin/api/device-liveness/stats |
顶部卡片统计:设备总数 / 开过保护 / 当前在线 / 掉线数 |
GET /admin/api/device-liveness |
设备存活列表(游标分页):在线情况/设备 id/归属用户 筛选 + 排序,默认掉线置顶;行含最近心跳、首次开启、App 版本、push token 有无 |
说明
- 「在线」=
last_heartbeat_at距今 < 超时阈值;掉线召回链路(worker 置kill_alert_pending→ 客户端 pull)见表文档。 - 无
device-liveness页面权限时返回403。