From bd1cc0483b7dad5a5e92663e07387967bb9e97f3 Mon Sep 17 00:00:00 2001 From: yangsy Date: Thu, 28 May 2026 10:47:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor(vimp):=20=E9=87=8D=E6=9E=84=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E7=BB=93=E6=9E=84=EF=BC=8C=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=BB=84=E7=BB=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将设备中心查询逻辑从API层抽取至composables目录,封装为useDeviceCenterQuery组合式函数 - 拆分camera、alarm的状态管理为独立store文件,新增资源面板搜索状态store - 更新相关组件的依赖导入路径,清理冗余导出并调整导出列表 --- src/pages/vimp/apis/index.ts | 1 - src/pages/vimp/apis/query/index.ts | 1 - src/pages/vimp/components/alarm-tree.vue | 2 +- src/pages/vimp/components/camera-tree.vue | 2 +- src/pages/vimp/composables/index.ts | 1 + src/pages/vimp/composables/query/index.ts | 1 + .../query/use-device-center-query.ts} | 4 ++-- src/pages/vimp/stores/{alarm-store.ts => alarm.ts} | 2 +- src/pages/vimp/stores/{camera-store.ts => camera.ts} | 2 +- src/pages/vimp/stores/index.ts | 5 +++-- src/pages/vimp/stores/resource-panel.ts | 12 ++++++++++++ 11 files changed, 23 insertions(+), 10 deletions(-) delete mode 100644 src/pages/vimp/apis/query/index.ts create mode 100644 src/pages/vimp/composables/index.ts create mode 100644 src/pages/vimp/composables/query/index.ts rename src/pages/vimp/{apis/query/device-center-query.ts => composables/query/use-device-center-query.ts} (96%) rename src/pages/vimp/stores/{alarm-store.ts => alarm.ts} (99%) rename src/pages/vimp/stores/{camera-store.ts => camera.ts} (99%) create mode 100644 src/pages/vimp/stores/resource-panel.ts diff --git a/src/pages/vimp/apis/index.ts b/src/pages/vimp/apis/index.ts index f12f1f1..3b07a45 100644 --- a/src/pages/vimp/apis/index.ts +++ b/src/pages/vimp/apis/index.ts @@ -1,4 +1,3 @@ export * from './client'; export * from './model'; -export * from './query'; export * from './request'; diff --git a/src/pages/vimp/apis/query/index.ts b/src/pages/vimp/apis/query/index.ts deleted file mode 100644 index a9c6448..0000000 --- a/src/pages/vimp/apis/query/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './device-center-query'; diff --git a/src/pages/vimp/components/alarm-tree.vue b/src/pages/vimp/components/alarm-tree.vue index 8f73912..0877a39 100644 --- a/src/pages/vimp/components/alarm-tree.vue +++ b/src/pages/vimp/components/alarm-tree.vue @@ -3,7 +3,7 @@ import { NTabPane, NTabs, NTree, type TreeOverrideNodeClickBehavior, type TreePr import { h, type CSSProperties } from 'vue'; import { useAlarmStore } from '../stores'; import { storeToRefs } from 'pinia'; -import { useDeviceCenterQuery } from '../apis'; +import { useDeviceCenterQuery } from '../composables'; import { isAlarmNode, isAlarmSiteNode, isAlarmAreaNode } from '../types'; const { isLoading } = useDeviceCenterQuery(); diff --git a/src/pages/vimp/components/camera-tree.vue b/src/pages/vimp/components/camera-tree.vue index 3150f1b..9ac14a7 100644 --- a/src/pages/vimp/components/camera-tree.vue +++ b/src/pages/vimp/components/camera-tree.vue @@ -3,7 +3,7 @@ import { NTabPane, NTabs, NTree, type TreeOverrideNodeClickBehavior, type TreePr import { h, type CSSProperties } from 'vue'; import { useCameraStore } from '../stores'; import { storeToRefs } from 'pinia'; -import { useDeviceCenterQuery } from '../apis'; +import { useDeviceCenterQuery } from '../composables'; import { isCameraNode, isCameraSiteNode, isCameraAreaNode } from '../types'; const { isLoading } = useDeviceCenterQuery(); diff --git a/src/pages/vimp/composables/index.ts b/src/pages/vimp/composables/index.ts new file mode 100644 index 0000000..a38910e --- /dev/null +++ b/src/pages/vimp/composables/index.ts @@ -0,0 +1 @@ +export * from './query'; diff --git a/src/pages/vimp/composables/query/index.ts b/src/pages/vimp/composables/query/index.ts new file mode 100644 index 0000000..5cc3144 --- /dev/null +++ b/src/pages/vimp/composables/query/index.ts @@ -0,0 +1 @@ +export * from './use-device-center-query'; diff --git a/src/pages/vimp/apis/query/device-center-query.ts b/src/pages/vimp/composables/query/use-device-center-query.ts similarity index 96% rename from src/pages/vimp/apis/query/device-center-query.ts rename to src/pages/vimp/composables/query/use-device-center-query.ts index 72a16e4..b3e4756 100644 --- a/src/pages/vimp/apis/query/device-center-query.ts +++ b/src/pages/vimp/composables/query/use-device-center-query.ts @@ -1,11 +1,11 @@ import { useQuery } from '@tanstack/vue-query'; import { computed } from 'vue'; -import { catalogChannelApi, catalogAllDeviceApi } from '../request'; +import { catalogChannelApi, catalogAllDeviceApi } from '../../apis/request'; import type { AxiosRequestConfig } from 'axios'; import axios from 'axios'; import type { CodeArea, CodeLines, CodeSites } from '../../types'; import { useCameraStore, useAlarmStore } from '../../stores'; -import type { VimpChannel } from '../model'; +import type { VimpChannel } from '../../apis/model'; export const useDeviceCenterQuery = () => { const cameraStore = useCameraStore(); diff --git a/src/pages/vimp/stores/alarm-store.ts b/src/pages/vimp/stores/alarm.ts similarity index 99% rename from src/pages/vimp/stores/alarm-store.ts rename to src/pages/vimp/stores/alarm.ts index 956008b..c344ea5 100644 --- a/src/pages/vimp/stores/alarm-store.ts +++ b/src/pages/vimp/stores/alarm.ts @@ -14,7 +14,7 @@ interface BuildLineTabPanesParams { codeTrainAreas: CodeArea[]; } -export const useAlarmStore = defineStore('vimp-alarm', () => { +export const useAlarmStore = defineStore('vimp-alarm-store', () => { const lineTabPanes = ref([]); const buildLineTabPanes = (params: BuildLineTabPanesParams) => { diff --git a/src/pages/vimp/stores/camera-store.ts b/src/pages/vimp/stores/camera.ts similarity index 99% rename from src/pages/vimp/stores/camera-store.ts rename to src/pages/vimp/stores/camera.ts index a1ff33a..3b8fcb9 100644 --- a/src/pages/vimp/stores/camera-store.ts +++ b/src/pages/vimp/stores/camera.ts @@ -14,7 +14,7 @@ interface BuildLineTabPanesParams { codeTrainAreas: CodeArea[]; } -export const useCameraStore = defineStore('vimp-camera', () => { +export const useCameraStore = defineStore('vimp-camera-store', () => { const lineTabPanes = ref([]); const buildLineTabPanes = (params: BuildLineTabPanesParams) => { diff --git a/src/pages/vimp/stores/index.ts b/src/pages/vimp/stores/index.ts index 6239e93..1fff803 100644 --- a/src/pages/vimp/stores/index.ts +++ b/src/pages/vimp/stores/index.ts @@ -1,2 +1,3 @@ -export * from './camera-store'; -export * from './alarm-store'; +export * from './alarm'; +export * from './camera'; +export * from './resource-panel'; diff --git a/src/pages/vimp/stores/resource-panel.ts b/src/pages/vimp/stores/resource-panel.ts new file mode 100644 index 0000000..a41c170 --- /dev/null +++ b/src/pages/vimp/stores/resource-panel.ts @@ -0,0 +1,12 @@ +import { defineStore } from 'pinia'; +import { ref } from 'vue'; + +export const useResourcePanelStore = defineStore('vimp-resource-panel', () => { + const showSearch = ref(false); + const searchText = ref(''); + + return { + showSearch, + searchText, + }; +});