refactor: remove unused queries

This commit is contained in:
yangsy
2025-08-27 14:31:14 +08:00
parent b4e49c0104
commit 5cc4b2f537
5 changed files with 0 additions and 192 deletions

View File

@@ -1,5 +1,3 @@
export * from './domains'; export * from './domains';
export * from './use-line-alarms-query'; export * from './use-line-alarms-query';
export * from './use-station-alarms-query';
export * from './use-today-alarms-query';

View File

@@ -1,95 +0,0 @@
import type { Station } from '@/apis/domains';
import { postNdmDeviceAlarmLogPage } from '@/apis/requests';
import { DeviceType } from '@/enums/device-type';
import { useQueryControlStore } from '@/stores/query-control';
import { useStationStore } from '@/stores/station';
import { useQuery } from '@tanstack/vue-query';
import dayjs from 'dayjs';
import { storeToRefs } from 'pinia';
import { computed } from 'vue';
import type { StationAlarms } from './domains';
const createEmptyStationAlarms = (): StationAlarms => ({
[DeviceType.Camera]: [],
[DeviceType.Decoder]: [],
[DeviceType.Keyboard]: [],
[DeviceType.MediaServer]: [],
[DeviceType.Nvr]: [],
[DeviceType.SecurityBox]: [],
[DeviceType.Switch]: [],
[DeviceType.VideoServer]: [],
unclassified: [],
});
export function useStationAlarmsQuery(stationCode: Station['code']) {
const stationStore = useStationStore();
const { onlineStationList } = storeToRefs(stationStore);
const queryControlStore = useQueryControlStore();
const { pollingEnabled } = storeToRefs(queryControlStore);
const isOnline = computed(() => onlineStationList.value.some((stn) => stn.code === stationCode));
return useQuery({
queryKey: ['station-alarms', stationCode],
enabled: computed(() => isOnline.value && pollingEnabled.value),
staleTime: Infinity,
refetchOnMount: false,
refetchOnReconnect: false,
refetchOnWindowFocus: false,
queryFn: async ({ signal }): Promise<StationAlarms> => {
// 如果车站离线,返回空数据
if (!isOnline.value) {
return createEmptyStationAlarms();
}
try {
const now = dayjs();
const todayStart = now.startOf('date').valueOf();
const todayEnd = now.endOf('date').valueOf();
const { records: alarmList } = await postNdmDeviceAlarmLogPage(
stationCode,
{
model: {},
extra: {
alarmDate_ge: todayStart,
alarmDate_le: todayEnd,
},
size: 50000,
current: 1,
sort: 'id',
order: 'descending',
},
signal,
);
const cameraAlarms = alarmList.filter((alarm) => alarm.deviceType === DeviceType.Camera);
const decoderAlarms = alarmList.filter((alarm) => alarm.deviceType === DeviceType.Decoder);
const keyboardAlarms = alarmList.filter((alarm) => alarm.deviceType === DeviceType.Keyboard);
const mediaServerAlarms = alarmList.filter((alarm) => alarm.deviceType === DeviceType.MediaServer);
const nvrAlarms = alarmList.filter((alarm) => alarm.deviceType === DeviceType.Nvr);
const securityBoxAlarms = alarmList.filter((alarm) => alarm.deviceType === DeviceType.SecurityBox);
const switchAlarms = alarmList.filter((alarm) => alarm.deviceType === DeviceType.Switch);
const videoServerAlarms = alarmList.filter((alarm) => alarm.deviceType === DeviceType.VideoServer);
return {
[DeviceType.Camera]: cameraAlarms,
[DeviceType.Decoder]: decoderAlarms,
[DeviceType.Keyboard]: keyboardAlarms,
[DeviceType.MediaServer]: mediaServerAlarms,
[DeviceType.Nvr]: nvrAlarms,
[DeviceType.SecurityBox]: securityBoxAlarms,
[DeviceType.Switch]: switchAlarms,
[DeviceType.VideoServer]: videoServerAlarms,
unclassified: alarmList ?? [],
};
} catch (error) {
console.error(`获取车站 ${stationCode} 告警数据失败:`, error);
// 如果获取失败,返回空数据
return createEmptyStationAlarms();
}
},
placeholderData: (prev) => prev,
});
}

View File

@@ -1,15 +0,0 @@
import { useQueryControlStore } from '@/stores/query-control';
import { useQuery } from '@tanstack/vue-query';
import { storeToRefs } from 'pinia';
import { computed } from 'vue';
export function useTodayAlarmsQuery() {
const queryControlStore = useQueryControlStore();
const { globalPollingEnabled } = storeToRefs(queryControlStore);
return useQuery({
queryKey: ['today-alarms'],
enabled: computed(() => globalPollingEnabled.value),
placeholderData: (prev) => prev,
queryFn: async () => {},
});
}

View File

@@ -1,4 +1,3 @@
export * from './domains'; export * from './domains';
export * from './use-line-devices-query'; export * from './use-line-devices-query';
export * from './use-station-devices-query';

View File

@@ -1,79 +0,0 @@
import type { Station } from '@/apis/domains';
import type { PageParams } from '@/apis/models';
import { postNdmCameraPage, postNdmDecoderPage, postNdmKeyboardPage, postNdmMediaServerPage, postNdmNvrPage, postNdmSecurityBoxPage, postNdmSwitchPage, postNdmVideoServerPage } from '@/apis/requests';
import { DeviceType } from '@/enums/device-type';
import { useQueryControlStore } from '@/stores/query-control';
import { useStationStore } from '@/stores/station';
import { useQuery } from '@tanstack/vue-query';
import { storeToRefs } from 'pinia';
import { computed } from 'vue';
import type { StationDevices } from './domains';
const createEmptyStationDevices = (): StationDevices => {
return {
[DeviceType.Camera]: [],
[DeviceType.Decoder]: [],
[DeviceType.Keyboard]: [],
[DeviceType.MediaServer]: [],
[DeviceType.Nvr]: [],
[DeviceType.SecurityBox]: [],
[DeviceType.Switch]: [],
[DeviceType.VideoServer]: [],
};
};
export function useStationDevicesQuery(stationCode: Station['code']) {
const stationStore = useStationStore();
const { onlineStationList } = storeToRefs(stationStore);
const queryControlStore = useQueryControlStore();
const { pollingEnabled } = storeToRefs(queryControlStore);
const isOnline = computed(() => onlineStationList.value.some((s) => s.code === stationCode));
return useQuery({
queryKey: ['station-devices', stationCode],
enabled: computed(() => isOnline.value && pollingEnabled.value),
staleTime: Infinity,
refetchOnMount: false,
refetchOnReconnect: false,
refetchOnWindowFocus: false,
queryFn: async ({ signal }): Promise<StationDevices> => {
const pageQuery: PageParams<{}> = { model: {}, extra: {}, size: 5000, current: 1, sort: 'id', order: 'ascending' };
// 如果车站离线,返回空数据
if (!isOnline.value) {
return createEmptyStationDevices();
}
try {
const [cameraData, decoderData, keyboardData, mediaServerData, nvrData, securityBoxData, switchData, videoServerData] = await Promise.all([
postNdmCameraPage(stationCode, pageQuery, signal),
postNdmDecoderPage(stationCode, pageQuery, signal),
postNdmKeyboardPage(stationCode, pageQuery, signal),
postNdmMediaServerPage(stationCode, pageQuery, signal),
postNdmNvrPage(stationCode, pageQuery, signal),
postNdmSecurityBoxPage(stationCode, pageQuery, signal),
postNdmSwitchPage(stationCode, pageQuery, signal),
postNdmVideoServerPage(stationCode, pageQuery, signal),
]);
return {
[DeviceType.Camera]: cameraData.records ?? [],
[DeviceType.Decoder]: decoderData.records ?? [],
[DeviceType.Keyboard]: keyboardData.records ?? [],
[DeviceType.MediaServer]: mediaServerData.records ?? [],
[DeviceType.Nvr]: nvrData.records ?? [],
[DeviceType.SecurityBox]: securityBoxData.records ?? [],
[DeviceType.Switch]: switchData.records ?? [],
[DeviceType.VideoServer]: videoServerData.records ?? [],
};
} catch (error) {
console.error(`获取车站 ${stationCode} 设备数据失败:`, error);
// 如果获取失败,返回空数据
return createEmptyStationDevices();
}
},
placeholderData: (prev) => prev,
});
}