feat: 新增云台控制权锁与框选3D定位接口
- 云台控制权锁:/device/ptzcontrol 请求体携带 username 时按 cameraCode 抢占 Redis 锁,
角色由 ExtRoleService 解析(sys_config 控制外部角色接口开关/地址,关闭时降级 mock 角色;
sys_dict_data 的 ptz_role_level 字典维护角色等级),同用户续期、等级数值更小可抢占、
同级先到先得,锁被占用返回 HTTP 423;北向调用不传 username 不受锁约束。
新增 security 模块(PtzLockService/ExtRoleService/PermissionProperties)及
sys_config/sys_dict Mapper,application.yml 增加 permission 配置项。
- 框选3D定位:新增 /device/position3d 接口,统一 0~255 归一化坐标契约,
海康走 NET_DVR_PTZSelZoomIn_EX 原生区域选择,大华走 HTTP moveDirectly(换算 0~8192),
锁占用时与云台控制共用同一把 cameraCode 锁。
- 前端页面:支持鼠标/触摸框选放大缩小(黑边剔除与方向判定)、新增雨刮器一键擦拭按钮,
入口 URL 透传 username/joinbright-token 并随云台及3D定位请求携带。
- 其他:Docker 配置 ZLM 推流服务名改为 inspect-nvr-zlmedia、HTTP 端口调整为 33381。
|