Files
ndm-web-platform/src/apis/request/biz/composed/export-device.ts
yangsy c408d875f4 feat: 设备树添加管理功能
- 新增设备导入、导出、删除功能及相关API
- 封装设备管理逻辑,拆分设备选择与设备管理逻辑
- 添加右键菜单支持设备管理操作
2025-12-24 22:34:53 +08:00

35 lines
1.2 KiB
TypeScript

import {
exportAlarmHostApi,
exportCameraApi,
exportDecoderApi,
exportKeyboardApi,
exportMediaServerApi,
exportNvrApi,
exportSecurityBoxApi,
exportSwitchApi,
exportVideoServerApi,
type NdmDevicePageQuery,
type PageParams,
type Station,
} from '@/apis';
import { DEVICE_TYPE_LITERALS, type DeviceType } from '@/enums';
export const exportDeviceApi = async (deviceType: DeviceType, pageQuery: PageParams<NdmDevicePageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const apiRecord = {
[DEVICE_TYPE_LITERALS.ndmAlarmHost]: exportAlarmHostApi,
[DEVICE_TYPE_LITERALS.ndmCamera]: exportCameraApi,
[DEVICE_TYPE_LITERALS.ndmDecoder]: exportDecoderApi,
[DEVICE_TYPE_LITERALS.ndmKeyboard]: exportKeyboardApi,
[DEVICE_TYPE_LITERALS.ndmMediaServer]: exportMediaServerApi,
[DEVICE_TYPE_LITERALS.ndmNvr]: exportNvrApi,
[DEVICE_TYPE_LITERALS.ndmSecurityBox]: exportSecurityBoxApi,
[DEVICE_TYPE_LITERALS.ndmSwitch]: exportSwitchApi,
[DEVICE_TYPE_LITERALS.ndmVideoServer]: exportVideoServerApi,
};
const exportApi = apiRecord[deviceType];
if (!exportApi) throw new Error('接口不存在');
return exportApi(pageQuery, options);
};