重构: aiot 模块重命名为 video,WVP 凭据移至环境变量

路径重命名:
- api/aiot/{alarm,device,edge,request} → api/video/{alarm,device,edge,request}
- views/aiot/{alarm,device,edge} → views/video/{alarm,device,edge}
- vite.config.mts 代理路径 /admin-api/aiot/* → /admin-api/video/*

video/request.ts 改造:
- WVP 用户名/密码 MD5 改读 import.meta.env,不再写死在源码里
- force 截图失败时补一条 console.debug,便于回溯 COS 图片加载异常

video/alarm/index.ts 顺带清理:
- 移除无调用方的重复 API getRecentAlerts(与 getAlertPage 重叠)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
lzh
2026-04-22 23:57:44 +08:00
parent 05006cb5cf
commit fd946c132e
18 changed files with 179 additions and 174 deletions

View File

@@ -7,14 +7,14 @@ export default defineConfig(async () => {
server: {
allowedHosts: true,
proxy: {
// ==================== AIoT 统一路由 ====================
// ==================== Video 模块统一路由 ====================
// aiot/alarm, aiot/edge -> 告警服务 :8000直通
'/admin-api/aiot/alarm': {
// video/alarm, video/edge -> 告警服务 :8000直通
'/admin-api/video/alarm': {
changeOrigin: true,
target: 'http://127.0.0.1:8000',
},
'/admin-api/aiot/edge': {
'/admin-api/video/edge': {
changeOrigin: true,
target: 'http://127.0.0.1:8000',
},
@@ -29,44 +29,44 @@ export default defineConfig(async () => {
target: 'http://127.0.0.1:8000',
},
// COS 存储相关接口 -> 告警服务 :8000
'/admin-api/aiot/storage': {
'/admin-api/video/storage': {
changeOrigin: true,
target: 'http://127.0.0.1:8000',
},
// aiot/device/* -> WVP :18080按子路径分别 rewrite
// video/device/* -> WVP :18080按子路径分别 rewrite
// 注意:更具体的路径必须写在通配路径前面
// 摄像头拉流代理: /admin-api/aiot/device/proxy -> /api/proxy
'/admin-api/aiot/device/proxy': {
// 摄像头拉流代理: /admin-api/video/device/proxy -> /api/proxy
'/admin-api/video/device/proxy': {
changeOrigin: true,
target: 'http://127.0.0.1:18080',
rewrite: (path: string) =>
path.replace('/admin-api/aiot/device/proxy', '/api/proxy'),
path.replace('/admin-api/video/device/proxy', '/api/proxy'),
},
// WVP 用户认证: /admin-api/aiot/device/user -> /api/user
'/admin-api/aiot/device/user': {
// WVP 用户认证: /admin-api/video/device/user -> /api/user
'/admin-api/video/device/user': {
changeOrigin: true,
target: 'http://127.0.0.1:18080',
rewrite: (path: string) =>
path.replace('/admin-api/aiot/device/user', '/api/user'),
path.replace('/admin-api/video/device/user', '/api/user'),
},
// 媒体服务器: /admin-api/aiot/device/server -> /api/server/media_server
'/admin-api/aiot/device/server': {
// 媒体服务器: /admin-api/video/device/server -> /api/server/media_server
'/admin-api/video/device/server': {
changeOrigin: true,
target: 'http://127.0.0.1:18080',
rewrite: (path: string) =>
path.replace(
'/admin-api/aiot/device/server',
'/admin-api/video/device/server',
'/api/server/media_server',
),
},
// ROI/算法/配置等: /admin-api/aiot/device -> /api/ai通配放最后
'/admin-api/aiot/device': {
// ROI/算法/配置等: /admin-api/video/device -> /api/ai通配放最后
'/admin-api/video/device': {
changeOrigin: true,
target: 'http://127.0.0.1:18080',
rewrite: (path: string) =>
path.replace('/admin-api/aiot/device', '/api/ai'),
path.replace('/admin-api/video/device', '/api/ai'),
},
// ==================== 芋道主平台 ====================