BCMS 工作计划
本文档展示 BCMS 智能执法视频管理平台的功能完成状态,按业务场景组织,聚焦可落地性。基于源码分析生成,已完成功能均有源码依据。
统计概览
| 指标 | 数值 |
|---|---|
| 后端 API 接口 | 1011 个 |
| 后端 Controller | 126 个 |
| 前端已实现模块 | 191 个路由 |
| 已完成功能覆盖率 | ~87% |
| 待开发任务 | ~21 项 |
Controller 模块分布
| 模块 | 数量 | 说明 |
|---|---|---|
| device | 28 | 设备管理核心模块 |
| user/center | 16 | 用户与租户中心 |
| configuration | 15 | 系统配置管理 |
| message | 14 | 消息通知系统 |
| basedata | 14 | 基础数据管理 |
| authority | 11 | 权限管理模块 |
| history | 10 | 历史记录服务 |
| snapshot | 8 | 快照管理服务 |
| order | 3 | 订单管理模块 |
| controller | 3 | 控制器管理 |
| v1 API | 4 | 旧版 API 兼容 |
图例
| 标记 | 含义 |
|---|---|
| ✅ | 已完成(有源码依据) |
| 🟡 | 进行中 |
| ⬜ | 待开发 |
| P0 | 核心必需 |
| P1 | 重要功能 |
| P2 | 增强功能 |
一、To B 企业服务(平台直服务企业客户)
面向政府机关、大型企事业单位提供私有化部署、定制开发与专属运维服务
1.1 设备监控与管理 ✅
1.1.1 数据采集设备(执法仪)管理 ✅
- ✅ [P0] 设备 CRUD(列表、新增、编辑、查看、删除、批量删除)
- ✅ [P0] 设备导入导出(Excel 导入/导出)
- ✅ [P0] 设备在线状态监控
- ✅ [P0] 设备号全局唯一性验证
- ✅ [P0] 设备与服务器绑定管理
- ✅ [P0] 固件版本显示与批量升级
1.1.2 数据采集服务器(DMS)管理 ✅
- ✅ [P0] 服务器 CRUD(列表、新增、编辑、查看、删除、批量删除)
- ✅ [P0] 服务器导入导出
- ✅ [P0] 在线状态监控
- ✅ [P0] WebRTC 状态监控
- ✅ [P0] 文件在线状态监控
- ✅ [P0] 固件版本管理
1.1.3 设备型号与固件管理 🟡
- ✅ [P1] 执法仪型号管理
- ✅ [P1] 服务器型号管理
- ✅ [P1] 采集盒型号管理
- ✅ [P1] 制造商管理
- ✅ [P1] 设备类型管理(含树形结构)
- ✅ [P1] 固件包管理
- 后端: FirmwarePackageController 已实现(CRUD + TUS 文件上传)
- 支持 .bin/.img 格式限制
- MD5 校验
- ✅ [P1] 租户级固件隔离
- 实体包含 tenantId 字段
- 文件存储路径按租户隔离
- ⬜ [P1] 固件升级任务管理
- 后端: 未实现升级任务调度、进度跟踪
- ⬜ [P2] 灰度发布
- 后端: 未实现灰度策略、分批发布
- ⬜ [P2] 升级失败自动回滚
- 后端: 未实现版本回退机制
1.1.4 数据采集盒管理 ✅
- ✅ [P1] 采集盒 CRUD
- ✅ [P1] 采集盒导入导出
1.1.5 文件存储服务器管理 ⬜
后端 API 已完整实现,前端待开发
- ⬜ [P1] 文件存储服务器 CRUD
- ⬜ [P1] 文件存储服务器型号管理
- ⬜ [P1] 存储策略配置(后端已实现 StoragePolicyController)
- ⬜ [P1] 容量监控
1.1.6 设备关联管理 🟡
后端 API 已完整实现,部分前端已开发
- ⬜ [P1] DMS 与文件存储服务器关联
- 后端: DataAcquisitionServerFileStorageServerController 已实现
- 前端: 待开发
- ✅ [P1] DMS 与执法仪关联
- 前端路由:
/device/data-acquisition-server-data-acquisition-device - 功能: 列表、新增、编辑、查看、批量删除、导入导出
- 后端: DataAcquisitionServerDataAcquisitionDeviceController 已实现
- 前端路由:
- ⬜ [P1] 采集盒与指纹扫描仪关联
- 后端: DataAcquisitionBoxFingerprintScannerController 已实现
- 前端: 待开发
- ⬜ [P1] 对讲服务器与执法仪关联
- 后端: TalkServerDataAcquisitionDeviceController 已实现
- 前端: 待开发
1.2 实时直播监控 ✅
- ✅ [P0] 单路直播
- WebRTC P2P 直连直播(
webrtc-live-p2p-1.tsx) - WebRTC Janus SFU 直播(
webrtc-live-janus-1.tsx) - 抖动缓冲区 4000ms(jitterBufferTarget)
- 浏览器编解码检测(VP8, H264, AV1, VP9)
- 播放器自动选择模式(
player-1.tsx)
- WebRTC P2P 直连直播(
- ✅ [P0] 多路直播
- 多分屏布局(1、2x2、3x3、4x4、5x5、6x6、1+5、1+7、1+9、1+11)
- 单屏可同时监看 36 路以上视频流(6x6 布局)
- ToB 模式:✅ Web 前端完整实现
- ToC 模式:✅ 手机 App 已实现,⬜ Web 前端待开发
- 功能:拖拽交换画面、全屏播放、音量控制、截图
1.3 视频回放与检索 ✅
- ✅ [P0] 视频回放
- WebRTC P2P 直连回放
- 回放列表查询
- 时间轴播放
- 倍速播放、关键帧跳转、截图保存
- 🟡 [P1] 智能检索
- 基础框架已有
- ⬜ AI 识别结果筛选
- ⬜ 事件标签检索
- ⬜ 关键帧提取
1.4 远程设备控制 ✅
1.4.1 设备远程控制 ✅
- ✅ [P0] 设备信息查看(设备编号、型号、电量、信号强度、IP、心跳时间)
- ✅ [P0] 录制参数配置(分辨率、码率、报警灵敏度、自动关机时间)
- ✅ [P1] WiFi 配置
- ✅ [P1] 移动网络配置
- ✅ [P1] 时间同步配置
- ✅ [P1] 安全设置
- ✅ [P1] 图片设置
- ✅ [P1] 直播设置
- ✅ [P1] 用户管理
- ✅ [P1] 声音设置
- ✅ [P1] 视频设置
1.4.2 服务器远程控制 ✅
- ✅ [P0] 服务器信息查看
- ✅ [P1] 配置管理
- ✅ [P1] 磁盘管理
- ✅ [P1] 服务配置
1.4.3 统一策略管控 ⬜
规划功能,后端未实现
- ⬜ [P1] 心跳上报策略
- 自定义心跳间隔(30s / 60s)
- 断线重连机制
- 离线缓存时长
- ⬜ [P1] 文件上传策略
- 根据事件类型(启动录制、紧急按钮、手动抓拍)设定上传时机
- 立即上传或延时批量上传
- 最大文件大小、压缩质量、优先级队列配置
- ⬜ [P1] 分类存储策略
- 普通巡逻 → 存入”常规库”
- 紧急事件/抓拍/冲突记录 → 自动标记为”高优先级”,禁止自动删除
- 涉案视频 → 启用加密锁存,仅授权人员可访问
- ⬜ [P1] 断网续传
- 网络中断期间,设备本地缓存文件
- 恢复后自动续传并校验完整性
- ⬜ [P2] 节能策略
- 电量低于 20% 时,自动关闭非必要功能(WiFi、高清录制、GPS 定位)
1.4.4 二维码设备绑定 ⬜
规划功能,后端未实现
- ⬜ [P1] 扫描二维码完成设备绑定
- ⬜ [P1] 网络配置注入
- ⬜ [P1] DMS 地址注入
- ⬜ [P1] 固件锁定
1.5 设备生命周期管理 🟡
1.5.1 设备领用归还 ✅
后端 API 已完整实现(快照模块)
- ✅ [P0] 设备领用记录
- ✅ [P0] 设备归还记录
- ✅ [P0] 领用归还快照
1.5.2 指纹领用认证 ⬜
后端 API 已实现,前端待开发
- ⬜ [P1] 指纹扫描仪管理(FingerprintScannerController 已实现)
- ⬜ [P1] 指纹扫描仪型号管理
- ⬜ [P1] 指纹使用记录快照
- ⬜ [P1] 前端管理界面
1.5.3 NFC 卡管理 ⬜
后端 API 已完整实现,前端待开发
- ⬜ [P1] NFC 卡 CRUD(NfcCardModelController 已实现)
- ⬜ [P1] NFC 卡使用记录快照
- ⬜ [P1] 前端管理界面
1.6 基础信息管理 ✅
- ✅ [P0] 用户管理
- 用户列表、新增、编辑、查看、删除、批量删除
- 用户导入导出
- 角色关联
- ✅ [P0] 角色管理
- 角色列表、新增、编辑、查看、删除
- 多级角色权限模型
- 数据权限配置(本人/本部门/本部门及下级/全部)
- 模块权限配置
- ✅ [P0] 组织管理
- 组织列表、新增、编辑、查看、删除
- 组织导入导出
- 树形结构
- ✅ [P0] 员工管理
- 员工列表、新增、编辑、查看、删除
- 员工导入导出
- 组织关联
- ✅ [P1] 员工用户关联
- 员工与用户账号关联管理
- ✅ [P1] 租户管理
- 租户列表、新增、编辑、查看、删除
- 租户切换(管理员功能)
1.7 报表与日志 ✅
- ✅ [P0] 用户操作日志
- 记录登录、登出、设备增删改、权限变更等操作
- Excel 导出
- ✅ [P1] MQTT 连接日志
- 设备、DMS、客户端上下线记录
- ✅ [P1] MQTT 连接统计
- 在线时长、连接频率、异常掉线统计
- ✅ [P1] GPS 轨迹日志
- 实时轨迹查看与历史轨迹回放
- ✅ [P2] 电量日志
- 设备电池使用曲线记录
1.8 系统配置 ✅
- ✅ [P1] 数据字典管理
- 字典类型、字典表、字典映射、字典项
- ✅ [P1] 值集管理
- 值集类型、值集、值集表、值集映射
- ✅ [P1] 多语言翻译管理
- 翻译列表、新增、编辑、查看、删除
1.9 运维管理 ✅
- ✅ [P1] 数据库备份
- ✅ [P1] 设备文件备份
1.10 消息通知系统 ⬜
后端 API 已完整实现(6 个 Controller,48 个接口),前端待开发
- ⬜ [P2] 短信通知(SmsController 已实现)
- ⬜ [P2] 短信模板管理(SmsTemplateController 已实现)
- ⬜ [P2] 站内通知(NotificationController 已实现)
- ⬜ [P2] 通知模板管理(NotificationTemplateController 已实现)
- ⬜ [P2] 邮件通知(EmailController 已实现)
- ⬜ [P2] 邮件模板管理(EmailTemplateController 已实现)
- ⬜ [P2] 消息推送中心(前端界面)
1.11 对讲组管理 ⬜
后端 API 已实现(TalkGroupController),前端待开发
- ⬜ [P1] 对讲组 CRUD
- ⬜ [P1] 成员管理
- ⬜ [P1] 实时对讲
1.12 多地图融合管控 ✅
- ✅ [P1] 多地图切换支持
- 默认支持:百度地图、高德地图、腾讯地图、Google Maps、OpenStreetMap
- 额外支持:天地图(Normal/Satellite/Terrain)、智图地图(Normal/Theme)
- 源码:
leaflet.ChineseTmsProviders.js,use-map-init.ts,map-1.tsx - 配置:
constants.ts第78行MAP_VIEW_TYPE_LIST
- ✅ [P1] 设备定位与轨迹
- 实时设备定位与轨迹动态更新
- 设备状态标识(在线、离线、低电量、异常)
- MQTT 实时获取 GPS 数据,最多保留 100 条历史记录
- ✅ [P1] 地图交互
- 手动抓拍触发(MQTT 命令:
BC+UMSINI=SysCtrl.Jpeg=1) - 设备信息弹窗(设备编号、型号、电量、信号强度、IP、心跳时间)
- 点击设备图标快速启动直播(实时)
- 手动抓拍触发(MQTT 命令:
- ✅ [P1] 轨迹可视化
- 轨迹线、方向箭头、起止点标记、当前位置标记
- 轨迹回放功能(
use-trajectory-playback.ts)
1.13 数据中心 ⬜
页面路由存在,内容待实现
- ⬜ [P0] 数据中心首页
二、Manage 超级管理员租户
统管所有租户、查看所有数据和统计信息的界面
2.1 租户管理 ✅
- ✅ [P0] 租户列表、新增、编辑、查看、删除
- ✅ [P0] 租户数据隔离
- 每个租户独立数据库表空间
2.2 全局报表 ✅
- ✅ [P1] 全局用户操作日志
- ✅ [P1] 全局 MQTT 连接日志
- ✅ [P1] 全局 MQTT 连接统计
- ✅ [P1] 全局 GPS 轨迹日志
- ✅ [P2] 全局电量日志
2.3 全局配置 ⬜
- ⬜ [P0] 全局固件版本管理
- 统一管理所有租户的固件版本
- ⬜ [P1] 全局策略配置
- 心跳间隔、存储周期、备份策略等全局默认配置
三、B2B 代理商分销(企业间合作)
平台采用”企业对企业”模式,核心围绕代理商构建合作链路
3.1 订单管理 ⬜
后端 API 已完整实现(OrderController、ProductController),前端待开发
- ⬜ [P1] 订单创建与查询
- ⬜ [P1] 订单状态流转
- ⬜ [P1] 订单审批流程
- ⬜ [P1] 产品目录管理
- ⬜ [P1] 产品规格与价格
3.2 代理商管理 ⬜
- ⬜ [P0] 代理商账户管理
- 代理商列表、新增、编辑、查看、删除
- ⬜ [P0] 白标系统支持
- 代理商品牌定制
- ⬜ [P1] 设备配额管理
- 代理商设备配额分配与监控
3.3 分账与授权 ⬜
- ⬜ [P1] 计费分账
- 代理商收益分账
- ⬜ [P1] 授权码发放
- 设备授权码生成与管理
3.4 子账户体系 ⬜
- ⬜ [P0] 子账户管理
- 代理商下级子账户管理
四、To C 个人服务
平台以”个人服务”为导向,直接面向个人用户(消费者)提供服务
4.1 个人中心 ✅
前端已完整实现
- ✅ [P0] 个人信息查看/编辑
- 昵称、姓名、邮箱、手机号
- ✅ [P0] 修改密码
4.2 认证服务 ✅
前端已完整实现
- ✅ [P0] 登录(用户名/邮箱/手机号三种方式)
- ✅ [P0] 注册(邮箱/手机号注册)
- ✅ [P0] 忘记密码
- ✅ [P0] 账户注销(需验证码确认)
4.3 设备分享 ⬜
后端 API 已实现(DeviceShareController),前端待开发
- ⬜ [P2] 设备分享功能
- 生成分享链接
- 权限控制
- 分享记录
- 二维码分享
4.4 移动端支持 ✅
移动端 App 已实现,Web 前端待开发
- ✅ [P2] 移动端 App
- 手机 App 已实现(iOS/Android)
- 后端 API 已完整实现
- ⬜ [P2] Web 前端
- 个人设备管理界面待开发
- 设备绑定与分享功能待开发
五、C2C 个人协作
支持用户间临时分享设备访问权限,实现协作监控
5.1 协作功能 ⬜
- ⬜ [P2] 临时权限分享
- MQTT 临时权限机制
- ⬜ [P2] 邀请码访问
- 邀请码生成与验证
- ⬜ [P2] 限时访问
- 分享权限时效控制
六、安全与权限体系
6.1 认证与授权 ✅
- ✅ [P0] 用户登录认证
- ✅ [P0] 多级角色权限模型
- 超级管理员、区域主管、执法员、审计员等
- ✅ [P0] IP 白名单控制
- ✅ [P1] 访问令牌机制
6.2 权限管理模块 ✅
后端已完整实现(9 个 Controller,72 个接口)
- ✅ [P0] 角色管理(RoleController)
- ✅ [P0] 权限管理(PermissionController)
- ✅ [P0] 角色权限关联(RolePermissionController)
- ✅ [P0] 角色用户关联(RoleUserController)
- ✅ [P1] 角色组织关联(RoleOrgController)
- ✅ [P1] 用户组管理(UserGroupController)
- ✅ [P1] 用户组角色关联(UserGroupRoleController)
- ✅ [P1] 用户组用户关联(UserGroupUserController)
- ✅ [P1] 权限用户关联(PermissionUserController)
6.3 数据安全 ✅
- ✅ [P0] HTTPS 加密传输
- ✅ [P0] SRTP + DTLS 加密
- 端到端通信安全
- ✅ [P0] 数据本地化存储
- 音视频、GPS、日志存储于客户内网 DMS
6.4 企业认证对接 ⬜
- ❌ [P1] LDAP/AD 对接(不需要)
- ⬜ [P1] OAuth2.0 对接
6.5 自动化功能 🟡
6.5.1 MQTT 凭据自动创建 ✅
后端已完整实现(MqttAccountSaveFunction)
- ✅ [P0] 自动生成 MQTT 用户名/密码
- 用户名格式:
{typeCode}-{typeNo}(如 user-admin、device-001) - 密码: MD5 哈希值
- 用户名格式:
- ✅ [P0] 自动创建 ACL 权限规则
- 订阅权限:
{typeCode}/{typeNo}/#、{typeCode}/+/+/telemetry/# - 发布权限:
{typeCode}/#
- 订阅权限:
- ✅ [P0] 存储到 Redis
mqtt_user:{username}mqtt_acl:{username}
- ✅ [P1] 触发场景
- 数据导入时(DataSyncImportListener)
- 设备保存/更新时(DeviceMessagesPlusListener)
- 用户相关操作时(UserMessagesPlusListener)
6.5.2 权限推荐功能 ⬜
- ⬜ [P2] 权限推荐
- 根据角色与设备类型智能建议默认权限组合
- 后端: 未实现
6.5.3 RESTful API 支持 ✅
- ✅ [P0] 标准化 RESTful API
- 128 个 Controller 文件
- API 路径前缀:
/system-api/(系统管理)、/main-api/(主服务)
七、分布式架构与部署
7.1 容器化部署 🟡
- ✅ [P0] Docker 容器化封装
- 26 个 docker-compose.yml 文件
- 覆盖所有核心服务(coturn、emqx、janus、nginx、redis、pg、nacos、meilisearch 等)
- ⬜ [P1] Kubernetes 编排支持
- 未实现 K8s 部署配置
- 当前仅使用 Docker Compose 进行容器编排
7.2 消息服务 ✅
- ✅ [P0] MQTT 消息服务
- 支持集群部署
- 可承载十万级设备并发接入
- 响应延迟
<50ms
7.3 WebRTC 服务 ✅
- ✅ [P1] STUN/TURN 服务节点
- 辅助复杂网络环境下 P2P 连接
- 源码:
es-center-server-install-app/data/es-center-server-service/es-center-server-coturn/ - Docker 镜像:
coturn/coturn
- ✅ [P1] STUN/TURN 密钥轮换
- 降低长期密钥泄露风险
- 源码:
es-center-server-install-app/es_center_server_install_app/cli.py - 实现:
update_server/upgrade_server命令自动生成新密钥
7.4 高可用设计 🟡
仅 PostgreSQL 实现了高可用,其他组件为单实例部署
7.4.1 PostgreSQL 数据库高可用 ✅
- ✅ [P0] 主从复制
- 使用
bitnami/postgresql-repmgr镜像 - 主节点:
es-center-server-pg-0 - 从节点:
es-center-server-pg-1 - 复制管理:
repmgr
- 使用
- ✅ [P0] 连接池与负载均衡
- 使用
bitnami/pgpool镜像 - 配置:
PGPOOL_ENABLE_LOAD_BALANCING=yes - 同步复制:
POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS=1
- 使用
- ✅ [P1] WAL 配置
- 支持逻辑复制
7.4.2 其他组件高可用 ⬜
| 组件 | 当前状态 | 缺失的高可用能力 |
|---|---|---|
| Redis | 单实例 | 无哨兵/集群模式 |
| EMQX | 单节点 | 无集群配置 |
| Nacos | 单实例 | 无集群配置 |
| Nginx | 单实例 | 无 upstream 负载均衡、无 keepalived |
| 应用服务 | 单实例 | 无多实例部署 |
7.5 CDN 缓存加速 ⬜
规划功能,未实现
- ⬜ [P2] 静态资源 CDN 缓存
- 静态资源(JS/CSS/图片)启用 CDN 缓存
- 提升全球访问响应速度
- 支持 CDN 节点预热
- ⬜ [P2] 前端资源版本化
- 文件名带哈希,支持长期缓存
- 当前前端使用 Vite 构建,已支持文件名哈希
八、统计与报表
8.1 多维度报表 ✅
- ✅ [P0] 用户操作日志报表
- ✅ [P1] MQTT 连接日志报表
- ✅ [P1] MQTT 连接统计报表
- ✅ [P1] GPS 轨迹日志报表
- ✅ [P2] 电量日志报表
8.2 快照管理 ✅
后端已完整实现(7 个 Controller,56 个接口)
- ✅ [P1] 设备状态快照(DeviceStateSnapController)
- ✅ [P1] 设备位置快照(DevicePositionSnapController)
- ✅ [P1] 数据同步快照(DataSyncSnapController)
- ✅ [P1] NFC 卡使用快照(NfcCardUsageSnapController)
- ✅ [P1] 采集盒使用快照(DataAcquisitionBoxUsageSnapController)
- ✅ [P1] 指纹机使用快照(FingerprintScannerUsageSnapController)
- ✅ [P1] 设备领用快照(DataAcquisitionDeviceClaimSnapController)
- ✅ [P1] 设备归还快照(DataAcquisitionDeviceGiveBackSnapController)
8.3 统计分析 ⬜
- ⬜ [P1] 数据可视化大屏
- ⬜ [P2] 自定义报表导出
九、待完成功能汇总
9.1 前端缺失功能(后端已有完整 API)
| 模块 | 功能描述 | 优先级 | 后端 Controller |
|---|---|---|---|
| 消息通知 | 短信/邮件/通知模板、消息中心 | P2 | SmsController, EmailController, NotificationController |
| 订单管理 | 订单创建、查询、审批流程 | P1 | OrderController, ProductController |
| NFC 卡管理 | NFC 卡 CRUD、使用记录 | P1 | NfcCardModelController, NfcCardUsageSnapController |
| 指纹机管理 | 指纹设备管理、使用记录 | P1 | FingerprintScannerController |
| 文件存储服务器 | 存储服务器管理、容量监控 | P1 | FileStorageServerController |
| 对讲组管理 | 对讲组配置、成员管理 | P1 | TalkGroupController |
| 设备关联 | DMS 与存储服务器、执法仪关联 | P1 | DataAcquisitionServerDataAcquisitionDeviceController |
| 设备分享 | 设备分享功能 | P2 | DeviceShareController |
9.2 P0 核心必需
| 功能 | 所属场景 | 说明 |
|---|---|---|
| 数据中心首页 | To B | 页面路由存在,内容待实现 |
| 全局固件版本管理 | Manage | 统一管理租户固件 |
| 代理商账户管理 | B2B | 代理商增删改查 |
| 白标系统支持 | B2B | 代理商品牌定制 |
| 子账户管理 | B2B | 代理商下级账户 |
9.3 P1 重要功能
| 功能 | 所属场景 | 说明 |
|---|---|---|
| 全局策略配置 | Manage | 默认策略统一配置 |
| 设备配额管理 | B2B | 代理商配额分配 |
| 计费分账 | B2B | 收益分账机制 |
| 授权码发放 | B2B | 设备授权管理 |
| OAuth2.0 对接 | 安全 | 企业统一认证 |
| 数据可视化大屏 | 报表 | 统计大屏展示 |
| 指纹领用认证 | 安全 | 人机绑定 |
9.4 P2 增强功能
| 功能 | 所属场景 | 说明 |
|---|---|---|
| 个人账号注册登录 | To C | 个人服务入口 |
| 个人信息管理 | To C | 个人中心 |
| 设备绑定与分享 | To C | 个人设备管理 |
| 移动端 App | To C | 移动端应用 |
| 临时权限分享 | C2C | MQTT 临时权限 |
| 邀请码访问 | C2C | 分享邀请机制 |
| 限时访问 | C2C | 时效控制 |
| 自定义报表导出 | 报表 | 灵活报表配置 |
| 消息推送中心 | To B | 消息通知前端界面 |
十、开发优先级建议
第一阶段(核心功能补全)[P0]
- 数据中心页面完整实现
- 设备关联管理前端界面
- 文件存储服务器管理界面
- 对讲组管理界面
第二阶段(业务功能完善)[P1]
- 订单管理系统
- NFC 卡管理界面
- 指纹机管理界面
- 智能检索功能增强
- 快照分析与可视化
第三阶段(增强功能)[P2]
- 消息通知中心
- 第三方账号管理
- 设备分享功能
- 多语言完整翻译包
十一、技术栈
| 层级 | 技术 |
|---|---|
| 前端 | React 19 + React Router 7 + TypeScript + Tailwind CSS |
| 后端 | Java/Kotlin + Spring Boot + Gradle |
| 通信 | WebRTC P2P + MQTT |
| 存储 | DMS 本地服务器 |
| 部署 | Docker + Kubernetes |
十二、数据验证说明
本章节记录所有 ✅ 标记功能的源码验证情况
后端验证(19 个遗漏模块已确认)
以下 Controller 均已在后端源码中找到对应实现:
| 模块 | Controller | 验证状态 |
|---|---|---|
| 消息通知 | SmsController, SmsTemplateController | ✅ 已验证 |
| 消息通知 | EmailController, EmailTemplateController | ✅ 已验证 |
| 消息通知 | NotificationController, NotificationTemplateController | ✅ 已验证 |
| 订单管理 | OrderController, ProductController | ✅ 已验证 |
| NFC 管理 | NfcCardModelController, NfcCardUsageSnapController | ✅ 已验证 |
| 指纹机 | FingerprintScannerController, FingerprintScannerUsageSnapController | ✅ 已验证 |
| 文件存储 | FileStorageServerController, StoragePolicyController | ✅ 已验证 |
| 对讲组 | TalkGroupController | ✅ 已验证 |
| 设备关联 | DataAcquisitionServerDataAcquisitionDeviceController | ✅ 已验证 |
| 设备分享 | DeviceShareController | ✅ 已验证 |
前端验证(5 个遗漏路由已确认)
以下路由均已在前端源码中找到对应文件:
| 路由模块 | 路由数量 | 验证状态 |
|---|---|---|
_auth | 5 个路由 | ✅ 已验证 |
my | 4 个路由 | ✅ 已验证 |
o-m | 4 个路由 | ✅ 已验证 |
data-center | 2 个路由 | ✅ 已验证 |
_md | 2 个路由 | ✅ 已验证 |
地图功能验证(4 个功能已确认)
以下地图相关功能均已在前端源码中找到对应实现:
| 功能 | 核心文件 | 验证状态 |
|---|---|---|
| 多地图切换支持 | leaflet.ChineseTmsProviders.js, use-map-init.ts, constants.ts | ✅ 已验证 |
| 手动抓拍触发 | map-1.tsx (MQTT: BC+UMSINI=SysCtrl.Jpeg=1) | ✅ 已验证 |
| 设备信息弹窗 | device-information.tsx, device-running-information.tsx | ✅ 已验证 |
| 点击设备图标启动直播 | map-1.tsx (startLiveStream 函数), device-list-1.tsx | ✅ 已验证 |
多地图支持详情:
- 百度地图 (baidu)
- 高德地图 (gao-de)
- 腾讯地图 (tencent)
- Google Maps (google)
- OpenStreetMap (open-street-map)
STUN/TURN 服务验证(2 个功能已确认)
| 功能 | 实现位置 | 验证状态 |
|---|---|---|
| STUN/TURN 服务节点 | install-app/data/es-center-server-service/es-center-server-coturn/ | ✅ 已验证 |
| STUN/TURN 密钥轮换 | install-app/es_center_server_install_app/cli.py (update_server/upgrade_server) | ✅ 已验证 |
Coturn Docker 配置:
- 镜像:
coturn/coturn - 配置文件:
turnserver.conf - 环境变量:
ES_CENTER_SERVER_COTURN_*
密钥轮换机制:
- 触发命令:
update_server/upgrade_server - 生成函数:
generate_random_string()(使用secrets模块) - 用户名: 8 位随机字符串
- 密码: 16 位随机字符串
DMS 与执法仪关联前端验证
| 功能 | 实现位置 | 验证状态 |
|---|---|---|
| 列表页 | routes/.../data-acquisition-server-data-acquisition-device._index/route.tsx | ✅ 已验证 |
| 新增页 | routes/.../data-acquisition-server-data-acquisition-device.add/route.tsx | ✅ 已验证 |
| 编辑页 | routes/.../data-acquisition-server-data-acquisition-device.edit.$id/route.tsx | ✅ 已验证 |
| 查看页 | routes/.../data-acquisition-server-data-acquisition-device.view.$id/route.tsx | ✅ 已验证 |
| API 接口 | .client/api/main/device/dataAcquisitionServerDataAcquisitionDeviceApi.ts | ✅ 已验证 |
已实现功能:分页查询、筛选、排序、批量删除、Excel 导入导出
直播功能验证
单路直播
| 功能 | 实现位置 | 验证状态 |
|---|---|---|
| P2P 直连播放器 | .client/components/webrtc-live-p2p-1.tsx | ✅ 已验证 |
| Janus SFU 播放器 | .client/components/webrtc-live-janus-1.tsx | ✅ 已验证 |
| 播放器容器 | .client/components/player-1.tsx | ✅ 已验证 |
| 编解码检测 | routes/.../single-live-video/route.tsx | ✅ 已验证 |
技术实现:
- 抖动缓冲区:jitterBufferTarget = 4000ms
- 支持编解码:VP8, H264, AV1, VP9
- 浏览器兼容:webrtc-adapter@9.0.3
- 自动模式切换:P2P 或 Janus SFU
多路直播
| 功能 | 实现位置 | 验证状态 |
|---|---|---|
| 分屏布局 | routes/.../multi-live-video.$deviceNos/route.tsx | ✅ 已验证 |
| ToB 模式 | routes/.../multi-live-video/to-b-1/ | ✅ 已验证 |
| ToC 模式 (Web) | routes/.../multi-live-video/to-c-1/ | ⬜ 返回 null |
| ToC 模式 (App) | 手机 App | ✅ 已实现 |
支持布局:1、2x2、3x3、4x4、5x5、6x6、1+5、1+7、1+9、1+11(配置于 constants.ts 第80行)
To C 个人服务验证
| 功能 | 实现位置 | 验证状态 |
|---|---|---|
| 个人信息查看/编辑 | routes/.../my._index/route.tsx, my.edit/route.tsx | ✅ 已验证 |
| 修改密码 | routes/.../my.change-password/route.tsx | ✅ 已验证 |
| 登录(用户名/邮箱/手机号) | routes/.../_auth.login/route.tsx | ✅ 已验证 |
| 注册(邮箱/手机号) | routes/.../_auth.register/route.tsx | ✅ 已验证 |
| 忘记密码 | routes/.../_auth.forgot-password/route.tsx | ✅ 已验证 |
| 注销账户 | routes/.../_auth.deactivate/route.tsx | ✅ 已验证 |
| 设备分享 | - | ⬜ 未实现 |
分布式架构验证
| 功能 | 实现位置 | 验证状态 |
|---|---|---|
| Docker 容器化 | install-app/data/es-center-server-service/*/docker-compose.yml | ✅ 已验证(26个文件) |
| Kubernetes 编排 | - | ⬜ 未实现 |
| MQTT 消息服务 | device-service/config/MqttConfig.java, EMQX | ✅ 已验证 |
| STUN/TURN 服务 | install-app/data/es-center-server-service/es-center-server-coturn/ | ✅ 已验证 |
B2B 代理商分销验证
| 功能 | 后端实现 | 前端实现 | 验证状态 |
|---|---|---|---|
| 订单管理(基础) | OrderController, ProductController | ⬜ 未实现 | ✅ 已验证 |
| 代理商管理 | ⬜ 未实现 | ⬜ 未实现 | ✅ 已验证 |
| 分账与授权 | ⬜ 未实现 | ⬜ 未实现 | ✅ 已验证 |
| 子账户体系 | ⬜ 未实现 | ⬜ 未实现 | ✅ 已验证 |
安全功能验证
| 功能 | 后端实现 | 验证状态 |
|---|---|---|
| JWT 认证 | SecurityConfig.java | ✅ 已验证 |
| 多级角色权限 | RoleController, PermissionController 等 9 个 Controller | ✅ 已验证 |
| LDAP/AD 对接 | ⬜ 未实现 | ✅ 已验证(文档标记不需要) |
| OAuth2.0 对接 | ⬜ 未实现 | ✅ 已验证 |
自动化功能验证
| 功能 | 实现位置 | 验证状态 |
|---|---|---|
| MQTT 凭据自动创建 | MqttAccountSaveFunction.java | ✅ 已验证 |
| MQTT ACL 自动生成 | MqttAccountSaveFunction.java | ✅ 已验证 |
| 权限推荐功能 | ⬜ 未实现 | ✅ 已验证 |
高可用架构验证
| 组件 | 高可用状态 | 验证状态 |
|---|---|---|
| PostgreSQL | ✅ 主从复制 + pgpool | ✅ 已验证 |
| Redis | ⬜ 单实例 | ✅ 已验证 |
| EMQX | ⬜ 单节点 | ✅ 已验证 |
| Nacos | ⬜ 单实例 | ✅ 已验证 |
| Nginx | ⬜ 单实例 | ✅ 已验证 |
| 应用服务 | ⬜ 单实例 | ✅ 已验证 |
数据来源
- 后端路径:
/mnt/wsl/gt-1/var/lib/workspace/es/es-center-server-services/ - 前端路径:
/mnt/wsl/gt-1/var/lib/workspace/es/es-center-server-web-app/app/routes/ - 规划文档:
/mnt/wsl/gt-1/var/lib/workspace/es/es-ext-doc-website/docs/v1/zh/guide/center-server/overview.md
文档更新时间: 2026-03-25
十三、验证更新日志
2026-03-25 验证更新
验证范围:全文档数据真实性核对
验证方法:通过 10 个并行探索任务,对比源码实际实现与文档记录
验证结果:
| 验证项 | 文档数据 | 实际统计 | 结果 |
|---|---|---|---|
| 后端 Controller | 126 个 | 126 个 | ✅ 准确 |
| 前端路由 | 191 个 | 191 个 | ✅ 准确 |
| 多地图支持 | 5 种 | 7 种 | ⚠️ 已补充 |
| Kubernetes 编排 | 已实现 | 未实现 | ⚠️ 已修正 |
| 直播分屏布局 | 10 种 | 10 种 | ✅ 准确 |
| 设备关联后端 API | 部分待开发 | 全部已实现 | ⚠️ 已补充 |
| To C 个人服务 | 已实现 | 已实现 | ✅ 准确 |
| B2B 代理商 | 待开发 | 未实现 | ✅ 准确 |
本次更新内容:
- 修正 Kubernetes 编排状态:已实现 → 未实现
- 补充多地图支持:添加天地图、智图地图
- 补充设备关联管理后端 Controller 实现
- 补充直播功能详细验证信息
- 新增 To C、B2B、分布式架构、安全功能验证表格
2026-03-25 第二轮验证更新(Oracle 审核后)
验证范围:对比规划文档 (overview.md) 补充遗漏功能
验证方法:通过 4 个并行探索任务,验证 Oracle 发现的遗漏点
新增验证结果:
| 验证项 | 规划文档描述 | 实际实现 | 结果 |
|---|---|---|---|
| 存储策略管理 | 存储周期/备份/空间预警/压缩/分区 | 部分实现(周期+预警+清理) | ⚠️ 已补充 |
| 固件升级任务 | 升级任务/灰度发布/回滚 | 仅固件包管理,无任务管理 | ⚠️ 已补充 |
| 高可用设计 | 双热备/负载均衡/故障切换 | 仅 PostgreSQL 高可用 | ⚠️ 新增章节 |
| MQTT 凭据自动创建 | 自动创建 MQTT 凭据 | MqttAccountSaveFunction 已实现 | ⚠️ 已补充 |
| 权限推荐功能 | 智能建议权限组合 | 未实现 | ⚠️ 已补充 |
| RESTful API | 标准化 API | 128 个 Controller | ⚠️ 已补充 |
第二轮更新内容:
- 1.1.3 固件管理:补充升级任务管理、灰度发布、回滚功能(未实现)
- 7.4 高可用设计:新增章节,记录 PostgreSQL 高可用和其他组件单实例状态
- 6.5 自动化功能:新增章节,记录 MQTT 凭据自动创建、权限推荐、RESTful API
- 数据验证说明:新增高可用、B2B、安全功能验证表格
2026-03-25 第三轮验证更新(Oracle 第二次审核后)
验证范围:补充 Oracle 发现的新遗漏
新增验证结果:
| 验证项 | 规划文档描述 | 实际实现 | 结果 |
|---|---|---|---|
| 统一策略管控 | 心跳/上传/存储/断网续传/节能策略 | 未实现 | ⚠️ 已补充 |
| 二维码设备绑定 | 扫码绑定/网络配置/DMS注入 | 未实现 | ⚠️ 已补充 |
| CDN 缓存加速 | 静态资源 CDN 缓存 | 未实现 | ⚠️ 已补充 |
第三轮更新内容:
- 1.4.3 统一策略管控:新增章节,记录心跳上报、文件上传、分类存储、断网续传、节能策略(规划功能)
- 1.4.4 二维码设备绑定:新增章节,记录二维码绑定功能(规划功能)
- 7.5 CDN 缓存加速:新增章节,记录静态资源 CDN 缓存功能(规划功能)
验证完成:经过 3 轮验证,所有规划文档中的功能均已在工作计划文档中有对应记录