Files

60 lines
4.5 KiB
Markdown
Raw Permalink Normal View History

2026-08-03 22:18:02 +08:00
# 路由与页面结构
> Bell 前端框架和最终信息架构尚未冻结。本文件先固定页面职责与规模约束,具体 URL 在 UI 原型任务中确认。
## 管理 Web 候选路由
| 候选路由 | 页面职责 | 关键约束 |
| --- | --- | --- |
| `/overview` | 站点、设备、事件和预警摘要 | 业务预警与运维告警分区 |
| `/sites` | 站点列表、配额与状态 | 显示 16 默认/128 上限,不暗示单机能力 |
| `/sites/:siteId/devices` | 设备列表、批量导入/启停、健康 | 分页/虚拟列表、逐项结果、不泄露凭据 |
| `/events` | 事件筛选与批量处置入口 | 事件与预警状态分开显示;服务端分页,不一次加载全量 |
| `/events/:eventId` | 事实、证据、时间线、outcome 与触发的 Alert | 权限最小化;弱网渐进加载;与 Alert 双向导航 |
| `/alerts` | 待 ack、升级中、已结束预警 | 清楚区分已发出/已送达/已看到/ack;支持值班交接 |
| `/alerts/:alertId` | Alert 处置、投递/升级事实与关联 Event | 展示聚合原因;ack 竞争不覆盖;与 Event 双向导航 |
| `/rules` | 场景包、规则继承、区域/时段配置 | 显示继承来源、试运行、不可变版本和回滚状态 |
| `/escalations` | 升级策略、值班排班、联系人和通道 | 一个一级入口下渐进展示三个二级模块;共享人员/值班组/已验证通道主数据但分对象建模;策略使用人员/组/排班类型化目标,支持解析预览、排班版本/替班/冲突与投递快照;双路径,静默 ≤4h,无永久项 |
2026-08-03 22:18:02 +08:00
| `/operations` | 设备/流/分片/对账运维 | 不与业务预警混在同一队列 |
| `/audit` | 审计查询 | 只读、服务端分页、按权限脱敏;深链筛选参数仅按文本渲染 |
2026-08-03 22:18:02 +08:00
这些是页面职责占位,不等于已冻结 URL;实现任务须更新本文件后再编码。
## 工程演示路由
| 路由 | 所有者 | 关键约束 |
| --- | --- | --- |
| `/brain-demo` | Brain T-017 回环工程服务 | 只允许显式回环监听;可独立打开 `docs/design/brain/index.html` 使用标识清楚的离线原型数据。不是 Bell 公共业务路由,不展示流 URL/凭据,不产生平台事件 ID、Alert 或处置状态 |
| `/sense-console/` | Sense T-018 回环工程服务 | 默认关闭;复用 Control API v1,设备分页默认 16 项,最多 4 路按需 WebRTC 预览。只允许 Sense 与 MediaMTX 播放端均为显式回环地址;不是录像/回放或 Bell 公共业务路由 |
| `/bell-console/` | Bell T-020 回环工程服务 | 默认关闭;展示真实 Alert、关联 Event、规则版本和 append-only transition,支持首次 ack 与确认后关闭。整个 Bell 服务必须显式回环监听;token 仅驻留页面内存,tenant/Site/actor 取服务端上下文;证据、升级和投递未启用时必须明确降级 |
这些路由只为开发、售前和实施联调。正式客户值班端仍由 Bell `/events`、`/alerts` 等受认证路由承载;不得把 Brain 工程页、T-018 Sense 控制台或 T-020 Bell 工程值班台暴露到非可信网络或嵌入客户公共系统。
2026-08-03 22:18:02 +08:00
## App 候选导航
- 预警:待确认与升级中的事件。
- 事件:有权限的历史事件与证据。
- 设备:最小健康状态,不提供未经授权的常态监控。
- 我的:联系人、通知偏好和限时静默。
Bell 响应式管理端的底部主导航最多 5 项;Site/Area、RBAC 与审计通过顶部“管理”菜单进入,不能因为窄屏隐藏侧栏而失去入口。桌面侧栏把值班/事件/规则/升级/报表与 Site/Area/审计分组显示。
2026-08-03 22:18:02 +08:00
## 值班台/大屏
- 实时事件流与高优先级预警。
- 地图/平面图点位和列表双向定位。
- 声光提示、ack 与交接班记录。
## 路由守卫
- 所有资源先验证租户与站点范围,再加载数据。
- 人脸相关路由在未授权租户完全不存在。
- 深链打开无权限或已删除资源时给出统一、安全的反馈。
- 128 路规模页面不得通过前端一次性全量加载、隐藏后分页。
## 组件归属
- 业务组件放 `Bell/web/`,不放进 Sense 或 Brain;T-017 的 `/brain-demo` 是明确隔离的回环工程页。T-020 也使用 `Bell/web/`,但只是自包含工程台,不冻结正式前端框架或公共路由。
2026-08-03 22:18:02 +08:00
- 流状态只通过 Bell/Sense 的受控业务 API 展示,不直接把 MediaMTX 管理端暴露给业务用户。
- 共用筛选、分页、批量结果和状态时间线组件在前端脚手架确定后再分层,不提前臆造目录。