diff --git a/src/pages/vimp/apis/client/index.ts b/src/pages/vimp/apis/client/index.ts new file mode 100644 index 0000000..d5450b2 --- /dev/null +++ b/src/pages/vimp/apis/client/index.ts @@ -0,0 +1 @@ +export * from './vimp-client'; diff --git a/src/pages/vimp/api/request.ts b/src/pages/vimp/apis/client/vimp-client.ts similarity index 55% rename from src/pages/vimp/api/request.ts rename to src/pages/vimp/apis/client/vimp-client.ts index 7e780c3..1ec7176 100644 --- a/src/pages/vimp/api/request.ts +++ b/src/pages/vimp/apis/client/vimp-client.ts @@ -1,16 +1,8 @@ -import type { VimpChannel, VimpStation } from './model'; import type { AxiosError, AxiosRequestConfig, CreateAxiosDefaults } from 'axios'; import axios from 'axios'; +import type { VimpResponse, VimpResult } from '../../types'; -interface VimpResult { - code: number; - data: T; - msg: string; -} - -type VimpResponse = [err: AxiosError | null, data: T | null, resp: VimpResult | null]; - -const createVimpClient = (config?: CreateAxiosDefaults) => { +export const createVimpClient = (config?: CreateAxiosDefaults) => { const instance = axios.create(config); const vimpPost = (url: string, data?: AxiosRequestConfig['data'], options?: Partial> & { retRaw?: boolean; upload?: boolean }): Promise> => { @@ -38,7 +30,7 @@ const createVimpClient = (config?: CreateAxiosDefaults) => { }; }; -const unwrapVimpResponse = (resp: VimpResponse) => { +export const unwrapVimpResponse = (resp: VimpResponse) => { const [err, data, result] = resp; if (err) throw err; if (result) { @@ -51,21 +43,3 @@ const unwrapVimpResponse = (resp: VimpResponse) => { export const vimpClient = createVimpClient({ baseURL: `/vimp/api/client`, }); - -export const catalogAllDeviceApi = async (options?: { signal?: AbortSignal }) => { - const { signal } = options ?? {}; - const client = vimpClient; - const endpoint = `/catalog/allDevice`; - const resp = await client.post(endpoint, {}, { signal }); - const data = unwrapVimpResponse(resp); - return data; -}; - -export const catalogChannelApi = async (code: string, options?: { signal?: AbortSignal }) => { - const { signal } = options ?? {}; - const client = vimpClient; - const endpoint = `/catalog/channel`; - const resp = await client.post(endpoint, { code, time: '' }, { signal }); - const data = unwrapVimpResponse(resp); - return data; -}; diff --git a/src/pages/vimp/api/index.ts b/src/pages/vimp/apis/index.ts similarity index 74% rename from src/pages/vimp/api/index.ts rename to src/pages/vimp/apis/index.ts index bdcf6f5..f12f1f1 100644 --- a/src/pages/vimp/api/index.ts +++ b/src/pages/vimp/apis/index.ts @@ -1,3 +1,4 @@ +export * from './client'; export * from './model'; export * from './query'; export * from './request'; diff --git a/src/pages/vimp/apis/model/index.ts b/src/pages/vimp/apis/model/index.ts new file mode 100644 index 0000000..e9c03f7 --- /dev/null +++ b/src/pages/vimp/apis/model/index.ts @@ -0,0 +1,2 @@ +export * from './vimp-channel'; +export * from './vimp-station'; diff --git a/src/pages/vimp/api/model.ts b/src/pages/vimp/apis/model/vimp-channel.ts similarity index 76% rename from src/pages/vimp/api/model.ts rename to src/pages/vimp/apis/model/vimp-channel.ts index a004f56..d585c70 100644 --- a/src/pages/vimp/api/model.ts +++ b/src/pages/vimp/apis/model/vimp-channel.ts @@ -1,9 +1,3 @@ -export interface VimpStation { - code: string; - name: string; - online: boolean; -} - export interface VimpChannel { address: string; block: string; diff --git a/src/pages/vimp/apis/model/vimp-station.ts b/src/pages/vimp/apis/model/vimp-station.ts new file mode 100644 index 0000000..6891af8 --- /dev/null +++ b/src/pages/vimp/apis/model/vimp-station.ts @@ -0,0 +1,5 @@ +export interface VimpStation { + code: string; + name: string; + online: boolean; +} diff --git a/src/pages/vimp/api/query.ts b/src/pages/vimp/apis/query/device-center-query.ts similarity index 92% rename from src/pages/vimp/api/query.ts rename to src/pages/vimp/apis/query/device-center-query.ts index 49cf840..3358915 100644 --- a/src/pages/vimp/api/query.ts +++ b/src/pages/vimp/apis/query/device-center-query.ts @@ -1,13 +1,13 @@ import { useQuery } from '@tanstack/vue-query'; import { computed } from 'vue'; -import { catalogChannelApi, catalogAllDeviceApi } from './request'; +import { catalogChannelApi, catalogAllDeviceApi } from '../request'; import type { AxiosRequestConfig } from 'axios'; import axios from 'axios'; -import type { CodeArea, CodeLines, CodeSites } from '../types'; -import type { VimpChannel } from '.'; -import { useCameraStore, useAlarmStore } from '../stores'; +import type { CodeArea, CodeLines, CodeSites } from '../../types'; +import { useCameraStore, useAlarmStore } from '../../stores'; +import type { VimpChannel } from '../model'; -export const useVimpDeviceQuery = () => { +export const useDeviceCenterQuery = () => { const cameraStore = useCameraStore(); const alarmStore = useAlarmStore(); diff --git a/src/pages/vimp/apis/query/index.ts b/src/pages/vimp/apis/query/index.ts new file mode 100644 index 0000000..a9c6448 --- /dev/null +++ b/src/pages/vimp/apis/query/index.ts @@ -0,0 +1 @@ +export * from './device-center-query'; diff --git a/src/pages/vimp/apis/request/catalog.all-device.ts b/src/pages/vimp/apis/request/catalog.all-device.ts new file mode 100644 index 0000000..df28213 --- /dev/null +++ b/src/pages/vimp/apis/request/catalog.all-device.ts @@ -0,0 +1,11 @@ +import { unwrapVimpResponse, vimpClient } from '../client'; +import type { VimpStation } from '../model'; + +export const catalogAllDeviceApi = async (options?: { signal?: AbortSignal }) => { + const { signal } = options ?? {}; + const client = vimpClient; + const endpoint = `/catalog/allDevice`; + const resp = await client.post(endpoint, {}, { signal }); + const data = unwrapVimpResponse(resp); + return data; +}; diff --git a/src/pages/vimp/apis/request/catalog.channel.ts b/src/pages/vimp/apis/request/catalog.channel.ts new file mode 100644 index 0000000..0f12fad --- /dev/null +++ b/src/pages/vimp/apis/request/catalog.channel.ts @@ -0,0 +1,11 @@ +import { unwrapVimpResponse, vimpClient } from '../client'; +import type { VimpChannel } from '../model'; + +export const catalogChannelApi = async (code: string, options?: { signal?: AbortSignal }) => { + const { signal } = options ?? {}; + const client = vimpClient; + const endpoint = `/catalog/channel`; + const resp = await client.post(endpoint, { code, time: '' }, { signal }); + const data = unwrapVimpResponse(resp); + return data; +}; diff --git a/src/pages/vimp/apis/request/index.ts b/src/pages/vimp/apis/request/index.ts new file mode 100644 index 0000000..15cde47 --- /dev/null +++ b/src/pages/vimp/apis/request/index.ts @@ -0,0 +1,2 @@ +export * from './catalog.channel'; +export * from './catalog.all-device'; diff --git a/src/pages/vimp/components/alarm-tree.vue b/src/pages/vimp/components/alarm-tree.vue index babaa2d..5983c1d 100644 --- a/src/pages/vimp/components/alarm-tree.vue +++ b/src/pages/vimp/components/alarm-tree.vue @@ -1,13 +1,12 @@