From e8aa9b96f8f90ce94a6e8230252d92543eb42b51 Mon Sep 17 00:00:00 2001 From: yangsy Date: Mon, 8 Jun 2026 14:40:58 +0800 Subject: [PATCH] =?UTF-8?q?refactor(vimp):=20=E9=87=8D=E5=91=BD=E5=90=8D?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=9F=A5=E8=AF=A2=E4=B8=BA=E9=80=9A=E9=81=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 vimp 常量文件,定义查询键 VIMP_CHANNELS_QUERY_KEY - 重命名设备中心查询组合式函数为通道查询组合式函数 - 更新 alarm-tree.vue 和 camera-tree.vue 中的查询调用 - 优化通道数据排序与存储更新流程 --- src/pages/vimp/components/alarm-tree.vue | 4 ++-- src/pages/vimp/components/camera-tree.vue | 4 ++-- src/pages/vimp/composables/query/index.ts | 2 +- .../{use-device-center-query.ts => use-channels-query.ts} | 5 +++-- src/pages/vimp/constants/index.ts | 1 + src/pages/vimp/constants/query.ts | 1 + 6 files changed, 10 insertions(+), 7 deletions(-) rename src/pages/vimp/composables/query/{use-device-center-query.ts => use-channels-query.ts} (97%) create mode 100644 src/pages/vimp/constants/index.ts create mode 100644 src/pages/vimp/constants/query.ts diff --git a/src/pages/vimp/components/alarm-tree.vue b/src/pages/vimp/components/alarm-tree.vue index f961c20..46de4b0 100644 --- a/src/pages/vimp/components/alarm-tree.vue +++ b/src/pages/vimp/components/alarm-tree.vue @@ -3,11 +3,11 @@ import { NIcon, NTabPane, NTabs, NTree, type TreeOverrideNodeClickBehavior, type import { h, type CSSProperties } from 'vue'; import { useAlarmStore, useResourcePanelStore } from '../stores'; import { storeToRefs } from 'pinia'; -import { useDeviceCenterQuery } from '../composables'; +import { useChannelsQuery } from '../composables'; import { isAlarmNode, isAlarmSiteNode, isAlarmAreaNode } from '../types'; import { SirenIcon } from 'lucide-vue-next'; -const { isLoading } = useDeviceCenterQuery(); +const { isLoading } = useChannelsQuery(); const alarmStore = useAlarmStore(); const { lineTabPanes } = storeToRefs(alarmStore); diff --git a/src/pages/vimp/components/camera-tree.vue b/src/pages/vimp/components/camera-tree.vue index 0ecffc4..061af59 100644 --- a/src/pages/vimp/components/camera-tree.vue +++ b/src/pages/vimp/components/camera-tree.vue @@ -3,13 +3,13 @@ import { NIcon, NTabPane, NTabs, NTree, type TreeOverrideNodeClickBehavior, type import { h, type CSSProperties } from 'vue'; import { useCameraStore, useResourcePanelStore } from '../stores'; import { storeToRefs } from 'pinia'; -import { useDeviceCenterQuery } from '../composables'; +import { useChannelsQuery } from '../composables'; import { isCameraNode, isCameraSiteNode, isCameraAreaNode } from '../types'; import PtzCamera from './icon/ptz-camera.vue'; import HemiPtzCamera from './icon/hemi-ptz-camera.vue'; import BulletCamera from './icon/bullet-camera.vue'; -const { isLoading } = useDeviceCenterQuery(); +const { isLoading } = useChannelsQuery(); const cameraStore = useCameraStore(); const { lineTabPanes } = storeToRefs(cameraStore); diff --git a/src/pages/vimp/composables/query/index.ts b/src/pages/vimp/composables/query/index.ts index 5cc3144..7b1afd9 100644 --- a/src/pages/vimp/composables/query/index.ts +++ b/src/pages/vimp/composables/query/index.ts @@ -1 +1 @@ -export * from './use-device-center-query'; +export * from './use-channels-query'; diff --git a/src/pages/vimp/composables/query/use-device-center-query.ts b/src/pages/vimp/composables/query/use-channels-query.ts similarity index 97% rename from src/pages/vimp/composables/query/use-device-center-query.ts rename to src/pages/vimp/composables/query/use-channels-query.ts index 982b53f..052b372 100644 --- a/src/pages/vimp/composables/query/use-device-center-query.ts +++ b/src/pages/vimp/composables/query/use-channels-query.ts @@ -5,6 +5,7 @@ import axios from 'axios'; import { compileCodeAreas, type CodeArea, type CodeLines, type CodeSites } from '../../types'; import { useCameraStore, useAlarmStore } from '../../stores'; import { catalogAllDeviceApi, catalogChannelApi, type VimpChannel, type VimpSite } from '../../apis'; +import { VIMP_CHANNELS_QUERY_KEY } from '../../constants'; const config: AxiosRequestConfig = { headers: { @@ -44,12 +45,12 @@ const sortChannelsMapByCode = (siteCodeToChannelsMap: Map } }; -export const useDeviceCenterQuery = () => { +export const useChannelsQuery = () => { const cameraStore = useCameraStore(); const alarmStore = useAlarmStore(); return useQuery({ - queryKey: computed(() => ['vimp-device']), + queryKey: computed(() => [VIMP_CHANNELS_QUERY_KEY]), refetchInterval: 10 * 1000, refetchOnWindowFocus: false, queryFn: async ({ signal }) => { diff --git a/src/pages/vimp/constants/index.ts b/src/pages/vimp/constants/index.ts new file mode 100644 index 0000000..a38910e --- /dev/null +++ b/src/pages/vimp/constants/index.ts @@ -0,0 +1 @@ +export * from './query'; diff --git a/src/pages/vimp/constants/query.ts b/src/pages/vimp/constants/query.ts new file mode 100644 index 0000000..171e6d6 --- /dev/null +++ b/src/pages/vimp/constants/query.ts @@ -0,0 +1 @@ +export const VIMP_CHANNELS_QUERY_KEY = 'vimp-channels';