新增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:
93
web/src/store/modules/aiRoi.js
Normal file
93
web/src/store/modules/aiRoi.js
Normal file
@@ -0,0 +1,93 @@
|
||||
import {
|
||||
queryRoiList,
|
||||
queryRoiDetail,
|
||||
queryRoiByCameraId,
|
||||
saveRoi,
|
||||
deleteRoi,
|
||||
bindAlgo,
|
||||
unbindAlgo,
|
||||
updateAlgoParams
|
||||
} from '@/api/aiRoi'
|
||||
|
||||
const actions = {
|
||||
queryRoiList({ commit }, params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
queryRoiList(params).then(response => {
|
||||
const { data } = response
|
||||
resolve(data)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
queryRoiDetail({ commit }, id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
queryRoiDetail(id).then(response => {
|
||||
const { data } = response
|
||||
resolve(data)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
queryRoiByCameraId({ commit }, cameraId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
queryRoiByCameraId(cameraId).then(response => {
|
||||
const { data } = response
|
||||
resolve(data)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
saveRoi({ commit }, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
saveRoi(data).then(response => {
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
deleteRoi({ commit }, roiId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
deleteRoi(roiId).then(response => {
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
bindAlgo({ commit }, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
bindAlgo(data).then(response => {
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
unbindAlgo({ commit }, bindId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
unbindAlgo(bindId).then(response => {
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
updateAlgoParams({ commit }, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
updateAlgoParams(data).then(response => {
|
||||
resolve(response)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
actions
|
||||
}
|
||||
Reference in New Issue
Block a user