新增AIoT边缘智能模块:摄像头ROI配置、算法管理、配置推送

- 后端:新增aiot模块(bean/dao/service/controller),支持ROI区域CRUD、
  算法注册表管理、ROI-算法绑定、配置推送到FastAPI边缘端、变更日志
- 前端:新增摄像头配置页(列表+ROI子页面)、算法配置页、Canvas绘图组件
  (矩形/多边形)、动态算法参数编辑器、ZLM截图作为ROI编辑背景
- 数据库:新建4张表(wvp_ai_roi/algorithm/roi_algo_bind/config_log)
  字段与FastAPI端SQLite兼容,含2个预置算法
- 路由裁剪:隐藏无关菜单(地图/部标/推流/录制计划等)
- 修复cameraId含/导致REST路径解析错误(改用query参数)
- 新增ai.service配置项(边缘端地址/超时/开关)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-04 08:59:20 +08:00
parent 6c471cdfd7
commit d7bf969694
44 changed files with 2943 additions and 12 deletions

View File

@@ -52,21 +52,21 @@ alive_interval=10.0
enable=1
on_flow_report=
on_http_access=
on_play=http://polaris-wvp:18978/index/hook/on_play
on_publish=http://polaris-wvp:18978/index/hook/on_publish
on_record_mp4=http://polaris-wvp:18978/index/hook/on_record_mp4
on_play=http://host.docker.internal:18080/index/hook/on_play
on_publish=http://host.docker.internal:18080/index/hook/on_publish
on_record_mp4=http://host.docker.internal:18080/index/hook/on_record_mp4
on_record_ts=
on_rtp_server_timeout=http://polaris-wvp:18978/index/hook/on_rtp_server_timeout
on_rtp_server_timeout=http://host.docker.internal:18080/index/hook/on_rtp_server_timeout
on_rtsp_auth=
on_rtsp_realm=
on_send_rtp_stopped=http://polaris-wvp:18978/index/hook/on_send_rtp_stopped
on_send_rtp_stopped=http://host.docker.internal:18080/index/hook/on_send_rtp_stopped
on_server_exited=
on_server_keepalive=http://polaris-wvp:18978/index/hook/on_server_keepalive
on_server_started=http://polaris-wvp:18978/index/hook/on_server_started
on_server_keepalive=http://host.docker.internal:18080/index/hook/on_server_keepalive
on_server_started=http://host.docker.internal:18080/index/hook/on_server_started
on_shell_login=
on_stream_changed=http://polaris-wvp:18978/index/hook/on_stream_changed
on_stream_none_reader=http://polaris-wvp:18978/index/hook/on_stream_none_reader
on_stream_not_found=http://polaris-wvp:18978/index/hook/on_stream_not_found
on_stream_changed=http://host.docker.internal:18080/index/hook/on_stream_changed
on_stream_none_reader=http://host.docker.internal:18080/index/hook/on_stream_none_reader
on_stream_not_found=http://host.docker.internal:18080/index/hook/on_stream_not_found
retry=1
retry_delay=3.0
stream_changed_schemas=rtsp/rtmp/fmp4/ts/hls/hls.fmp4
@@ -169,7 +169,7 @@ h265_pt=99
merge_frame=1
opus_pt=100
port=10003
port_range=30000-30500
port_range=40000-45000
ps_pt=96
rtp_g711_dur_ms=100
timeoutSec=15