feat(aiot): 搭建 aiot 前端模块路由和 API 层

- 新增 router/routes/modules/aiot.ts:6 个页面路由
  告警列表、摄像头汇总、摄像头管理、ROI配置、实时视频、边缘节点
- 新增 api/aiot/alarm/:告警 API(分页、详情、处理、删除、统计、汇总)
- 新增 api/aiot/edge/:边缘设备 API(分页、详情、统计)
- 新增 api/aiot/device/:摄像头和 ROI API(调用 WVP 后端)
- 新增 api/aiot/video/:视频播放 API(playStart/playStop)
- 新增 api/aiot/request.ts:WVP 专用请求客户端(跳过芋道响应拦截器)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-06 16:40:26 +08:00
parent bc2f1e89c9
commit 159a82aaa9
6 changed files with 421 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
import type { RouteRecordRaw } from 'vue-router';
const routes: RouteRecordRaw[] = [
{
path: '/aiot',
name: 'AIoT',
meta: {
title: 'AIoT 智能平台',
icon: 'ant-design:robot-outlined',
keepAlive: true,
},
children: [
{
path: 'alarm/list',
name: 'AiotAlarmList',
component: () => import('#/views/aiot/alarm/list/index.vue'),
meta: {
title: '告警列表',
icon: 'ant-design:alert-outlined',
},
},
{
path: 'alarm/summary',
name: 'AiotAlarmSummary',
component: () => import('#/views/aiot/alarm/summary/index.vue'),
meta: {
title: '摄像头告警汇总',
icon: 'ant-design:video-camera-outlined',
},
},
{
path: 'device/camera',
name: 'AiotDeviceCamera',
component: () => import('#/views/aiot/device/camera/index.vue'),
meta: {
title: '摄像头管理',
icon: 'ant-design:camera-outlined',
},
},
{
path: 'device/roi',
name: 'AiotDeviceRoi',
component: () => import('#/views/aiot/device/roi/index.vue'),
meta: {
title: 'ROI 区域配置',
icon: 'ant-design:aim-outlined',
},
},
{
path: 'video/live',
name: 'AiotVideoLive',
component: () => import('#/views/aiot/video/live/index.vue'),
meta: {
title: '实时视频',
icon: 'ant-design:play-circle-outlined',
},
},
{
path: 'edge/node',
name: 'AiotEdgeNode',
component: () => import('#/views/aiot/edge/node/index.vue'),
meta: {
title: '边缘节点管理',
icon: 'ant-design:cluster-outlined',
},
},
],
},
];
export default routes;