refactor: 优化请求封装

- 优化Result接口定义
- 新增响应数据解析逻辑
- 优化错误解析逻辑
This commit is contained in:
yangsy
2025-12-17 13:26:25 +08:00
parent 52ba3add3f
commit 495dc001a1
25 changed files with 179 additions and 320 deletions

View File

@@ -10,6 +10,7 @@ import {
type PageResult, type PageResult,
type Station, type Station,
} from '@/apis'; } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageAlarmHostApi = async (pageQuery: PageParams<NdmAlarmHostPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageAlarmHostApi = async (pageQuery: PageParams<NdmAlarmHostPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -17,9 +18,7 @@ export const pageAlarmHostApi = async (pageQuery: PageParams<NdmAlarmHostPageQue
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmAlarmHost/page`; const endpoint = `${prefix}/api/ndm/ndmAlarmHost/page`;
const resp = await client.post<PageResult<NdmAlarmHostResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmAlarmHostResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -29,9 +28,7 @@ export const detailAlarmHostApi = async (id: string, options?: { stationCode?: S
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmAlarmHost/detail`; const endpoint = `${prefix}/api/ndm/ndmAlarmHost/detail`;
const resp = await client.get<NdmAlarmHostResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmAlarmHostResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -41,9 +38,7 @@ export const saveAlarmHostApi = async (saveVO: NdmAlarmHostSaveVO, options?: { s
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmAlarmHost`; const endpoint = `${prefix}/api/ndm/ndmAlarmHost`;
const resp = await client.post<NdmAlarmHostResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmAlarmHostResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -53,9 +48,7 @@ export const updateAlarmHostApi = async (updateVO: NdmAlarmHostUpdateVO, options
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmAlarmHost`; const endpoint = `${prefix}/api/ndm/ndmAlarmHost`;
const resp = await client.put<NdmAlarmHostResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmAlarmHostResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -65,9 +58,7 @@ export const deleteAlarmHostApi = async (ids: string[], options?: { stationCode?
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmAlarmHost`; const endpoint = `${prefix}/api/ndm/ndmAlarmHost`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -77,9 +68,7 @@ export const exportAlarmHostApi = async (pageQuery: PageParams<NdmAlarmHostPageQ
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmAlarmHost/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmAlarmHost/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -91,8 +80,6 @@ export const importAlarmHostApi = async (file: File, options?: { stationCode?: S
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,4 +1,5 @@
import { initStationDevices, ndmClient, userClient, type StationDevices } from '@/apis'; import { initStationDevices, ndmClient, userClient, type StationDevices } from '@/apis';
import { unwrapResponse } from '@/utils';
export const getAllDevicesApi = async (options?: { stationCode?: string; signal?: AbortSignal }) => { export const getAllDevicesApi = async (options?: { stationCode?: string; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,9 +7,7 @@ export const getAllDevicesApi = async (options?: { stationCode?: string; signal?
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDevices/all`; const endpoint = `${prefix}/api/ndm/ndmDevices/all`;
const resp = await client.get<StationDevices>(endpoint, { retRaw: true, signal }); const resp = await client.get<StationDevices>(endpoint, { retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
// 由于各线路后端版本不一致,接口返回的设备类型可能不够完整,需要做一次合并 // 由于各线路后端版本不一致,接口返回的设备类型可能不够完整,需要做一次合并
return { return {
...initStationDevices(), ...initStationDevices(),

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type Station } from '@/apis'; import { ndmClient, userClient, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const resetMonitorScheduleApi = async (options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const resetMonitorScheduleApi = async (options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,6 +7,5 @@ export const resetMonitorScheduleApi = async (options?: { stationCode?: Station[
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmConstant/anyTenant/resetMonitorSchedule`; const endpoint = `${prefix}/api/ndm/ndmConstant/anyTenant/resetMonitorSchedule`;
const resp = await client.get<void>(endpoint, { signal }); const resp = await client.get<void>(endpoint, { signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };

View File

@@ -1,11 +1,10 @@
import { userClient, type VerifyServer } from '@/apis'; import { userClient, type VerifyServer } from '@/apis';
import { unwrapResponse } from '@/utils';
export const batchVerifyApi = async (options?: { signal?: AbortSignal }) => { export const batchVerifyApi = async (options?: { signal?: AbortSignal }) => {
const { signal } = options ?? {}; const { signal } = options ?? {};
const endpoint = `/api/ndm/ndmKeepAlive/batchVerify`; const endpoint = `/api/ndm/ndmKeepAlive/batchVerify`;
const resp = await userClient.post<VerifyServer[]>(endpoint, {}, { retRaw: true, timeout: 5000, signal }); const resp = await userClient.post<VerifyServer[]>(endpoint, {}, { retRaw: true, timeout: 5000, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type IcmpEntity, type Station } from '@/apis'; import { ndmClient, userClient, type IcmpEntity, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const exportIcmpApi = async (status?: string, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const exportIcmpApi = async (status?: string, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -13,9 +14,7 @@ export const exportIcmpApi = async (status?: string, options?: { stationCode?: S
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
signal, signal,
}); });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -36,9 +35,7 @@ export const exportIcmpByStationApi = async (stationCodes: Station['code'][], st
signal, signal,
}, },
); );
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -48,8 +45,6 @@ export const icmpEntityByDeviceId = async (deviceId: string, options?: { station
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmIcmpExport/icmpEntityByDeviceId`; const endpoint = `${prefix}/api/ndm/ndmIcmpExport/icmpEntityByDeviceId`;
const resp = await client.get<IcmpEntity[]>(endpoint, { params: { deviceId }, signal, retRaw: true }); const resp = await client.get<IcmpEntity[]>(endpoint, { params: { deviceId }, signal, retRaw: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,11 +1,11 @@
import { ndmClient, userClient, type Station } from '@/apis'; import { ndmClient, userClient, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const verifyApi = async (options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const verifyApi = async (options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
const client = stationCode ? ndmClient : userClient; const client = stationCode ? ndmClient : userClient;
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmKeepAlive/verify`; const endpoint = `${prefix}/api/ndm/ndmKeepAlive/verify`;
const resp = await client.post<void>(endpoint, {}, { timeout: 5000, signal }); const resp = await client.post<void>(endpoint, {}, { retRaw: true, timeout: 5000, signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type NdmCallLogPageQuery, type NdmCallLogResultVO, type PageParams, type PageResult, type Station } from '@/apis'; import { ndmClient, userClient, type NdmCallLogPageQuery, type NdmCallLogResultVO, type PageParams, type PageResult, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageCallLogApi = async (pageQuery: PageParams<NdmCallLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageCallLogApi = async (pageQuery: PageParams<NdmCallLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,9 +7,7 @@ export const pageCallLogApi = async (pageQuery: PageParams<NdmCallLogPageQuery>,
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCallLog/page`; const endpoint = `${prefix}/api/ndm/ndmCallLog/page`;
const resp = await client.post<PageResult<NdmCallLogResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmCallLogResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -18,8 +17,6 @@ export const exportCallLogApi = async (pageQuery: PageParams<NdmCallLogPageQuery
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCallLog/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmCallLog/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type NdmDeviceAlarmLogPageQuery, type NdmDeviceAlarmLogResultVO, type NdmDeviceAlarmLogUpdateVO, type PageParams, type PageResult, type Station } from '@/apis'; import { ndmClient, userClient, type NdmDeviceAlarmLogPageQuery, type NdmDeviceAlarmLogResultVO, type NdmDeviceAlarmLogUpdateVO, type PageParams, type PageResult, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageDeviceAlarmLogApi = async (pageQuery: PageParams<NdmDeviceAlarmLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageDeviceAlarmLogApi = async (pageQuery: PageParams<NdmDeviceAlarmLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,9 +7,7 @@ export const pageDeviceAlarmLogApi = async (pageQuery: PageParams<NdmDeviceAlarm
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDeviceAlarmLog/page`; const endpoint = `${prefix}/api/ndm/ndmDeviceAlarmLog/page`;
const resp = await client.post<PageResult<NdmDeviceAlarmLogResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmDeviceAlarmLogResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -18,9 +17,7 @@ export const updateDeviceAlarmLogApi = async (updateVO: NdmDeviceAlarmLogUpdateV
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDeviceAlarmLog`; const endpoint = `${prefix}/api/ndm/ndmDeviceAlarmLog`;
const resp = await client.put<NdmDeviceAlarmLogResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmDeviceAlarmLogResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -30,8 +27,6 @@ export const exportDeviceAlarmLogApi = async (pageQuery: PageParams<NdmDeviceAla
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDeviceAlarmLog/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmDeviceAlarmLog/defaultExportByTemplate`;
const resp = await client.post<BlobPart>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<BlobPart>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type NdmIcmpLogPageQuery, type NdmIcmpLogResultVO, type PageParams, type PageResult, type Station } from '@/apis'; import { ndmClient, userClient, type NdmIcmpLogPageQuery, type NdmIcmpLogResultVO, type PageParams, type PageResult, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageIcmpLogApi = async (pageQuery: PageParams<NdmIcmpLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageIcmpLogApi = async (pageQuery: PageParams<NdmIcmpLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,8 +7,6 @@ export const pageIcmpLogApi = async (pageQuery: PageParams<NdmIcmpLogPageQuery>,
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmIcmpLog/page`; const endpoint = `${prefix}/api/ndm/ndmIcmpLog/page`;
const resp = await client.post<PageResult<NdmIcmpLogResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmIcmpLogResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type ClientChannel, type NdmNvrResultVO, type NdmRecordCheck } from '@/apis'; import { ndmClient, userClient, type ClientChannel, type NdmNvrResultVO, type NdmRecordCheck } from '@/apis';
import { unwrapResponse } from '@/utils';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
export const getChannelListApi = async (ndmNvr: NdmNvrResultVO, options?: { stationCode?: string; signal?: AbortSignal }) => { export const getChannelListApi = async (ndmNvr: NdmNvrResultVO, options?: { stationCode?: string; signal?: AbortSignal }) => {
@@ -7,9 +8,7 @@ export const getChannelListApi = async (ndmNvr: NdmNvrResultVO, options?: { stat
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmRecordCheck/getChannelList`; const endpoint = `${prefix}/api/ndm/ndmRecordCheck/getChannelList`;
const resp = await client.post<ClientChannel[]>(endpoint, { code: ndmNvr.gbCode, time: '' }, { signal }); const resp = await client.post<ClientChannel[]>(endpoint, { code: ndmNvr.gbCode, time: '' }, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -24,9 +23,7 @@ export const getRecordCheckApi = async (ndmNvr: NdmNvrResultVO, lastDays: number
const end = endDateTime.format('YYYY-MM-DD'); const end = endDateTime.format('YYYY-MM-DD');
const parentId = ndmNvr.gbCode; const parentId = ndmNvr.gbCode;
const resp = await client.post<NdmRecordCheck[]>(endpoint, { start, end, parentId, gbCodeList }, { signal }); const resp = await client.post<NdmRecordCheck[]>(endpoint, { start, end, parentId, gbCodeList }, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -36,9 +33,7 @@ export const reloadRecordCheckApi = async (channel: ClientChannel, dayOffset: nu
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmRecordCheck/reloadRecordCheckByGbId`; const endpoint = `${prefix}/api/ndm/ndmRecordCheck/reloadRecordCheckByGbId`;
const resp = await client.post<boolean>(endpoint, { ...channel, dayOffset }, { signal }); const resp = await client.post<boolean>(endpoint, { ...channel, dayOffset }, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type NdmSnmpLogPageQuery, type NdmSnmpLogResultVO, type PageParams, type PageResult, type Station } from '@/apis'; import { ndmClient, userClient, type NdmSnmpLogPageQuery, type NdmSnmpLogResultVO, type PageParams, type PageResult, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageSnmpLogApi = async (pageQuery: PageParams<NdmSnmpLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageSnmpLogApi = async (pageQuery: PageParams<NdmSnmpLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,8 +7,6 @@ export const pageSnmpLogApi = async (pageQuery: PageParams<NdmSnmpLogPageQuery>,
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSnmpLog/page`; const endpoint = `${prefix}/api/ndm/ndmSnmpLog/page`;
const resp = await client.post<PageResult<NdmSnmpLogResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmSnmpLogResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type NdmVimpLogPageQuery, type NdmVimpLogResultVO, type PageParams, type PageResult, type Station } from '@/apis'; import { ndmClient, userClient, type NdmVimpLogPageQuery, type NdmVimpLogResultVO, type PageParams, type PageResult, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageVimpLogApi = async (pageQuery: PageParams<NdmVimpLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageVimpLogApi = async (pageQuery: PageParams<NdmVimpLogPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,9 +7,7 @@ export const pageVimpLogApi = async (pageQuery: PageParams<NdmVimpLogPageQuery>,
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVimpLog/page`; const endpoint = `${prefix}/api/ndm/ndmVimpLog/page`;
const resp = await client.post<PageResult<NdmVimpLogResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmVimpLogResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -18,8 +17,6 @@ export const exportVimpLogApi = async (pageQuery: PageParams<NdmVimpLogPageQuery
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVimpLog/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmVimpLog/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -10,6 +10,7 @@ import {
type PageResult, type PageResult,
type Station, type Station,
} from '@/apis'; } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageSecurityBoxApi = async (pageQuery: PageParams<NdmSecurityBoxPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageSecurityBoxApi = async (pageQuery: PageParams<NdmSecurityBoxPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -17,9 +18,7 @@ export const pageSecurityBoxApi = async (pageQuery: PageParams<NdmSecurityBoxPag
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox/page`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox/page`;
const resp = await client.post<PageResult<NdmSecurityBoxResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmSecurityBoxResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -29,9 +28,7 @@ export const detailSecurityBoxApi = async (id: string, options?: { stationCode?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox/detail`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox/detail`;
const resp = await client.get<NdmSecurityBoxResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmSecurityBoxResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -41,9 +38,7 @@ export const saveSecurityBoxApi = async (saveVO: NdmSecurityBoxSaveVO, options?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox`;
const resp = await client.post<NdmSecurityBoxResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmSecurityBoxResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -53,9 +48,7 @@ export const updateSecurityBoxApi = async (updateVO: NdmSecurityBoxUpdateVO, opt
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox`;
const resp = await client.put<NdmSecurityBoxResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmSecurityBoxResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -65,9 +58,7 @@ export const deleteSecurityBoxApi = async (ids: string[], options?: { stationCod
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -77,9 +68,7 @@ export const exportSecurityBoxApi = async (pageQuery: PageParams<NdmSecurityBoxP
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -91,9 +80,7 @@ export const importSecurityBoxApi = async (file: File, options?: { stationCode?:
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -103,8 +90,7 @@ export const probeSecurityBoxApi = async (ids: string[], options?: { stationCode
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox/probeByIds`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox/probeByIds`;
const resp = await client.post<void>(endpoint, ids, { signal }); const resp = await client.post<void>(endpoint, ids, { signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };
export const turnCitcuitStatusApi = async (ipAddress: string, circuitIndex: number, status: number, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const turnCitcuitStatusApi = async (ipAddress: string, circuitIndex: number, status: number, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
@@ -113,9 +99,7 @@ export const turnCitcuitStatusApi = async (ipAddress: string, circuitIndex: numb
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox/turnStatus`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox/turnStatus`;
const resp = await client.post<boolean>(endpoint, { community: 'public', ipAddress, circuit: `${circuitIndex}`, status }, { signal }); const resp = await client.post<boolean>(endpoint, { community: 'public', ipAddress, circuit: `${circuitIndex}`, status }, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -125,8 +109,6 @@ export const rebootSecurityBoxApi = async (ipAddress: string, options?: { statio
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSecurityBox/reboot`; const endpoint = `${prefix}/api/ndm/ndmSecurityBox/reboot`;
const resp = await client.post<boolean>(endpoint, { community: 'public', ipAddress }, { signal }); const resp = await client.post<boolean>(endpoint, { community: 'public', ipAddress }, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type MediaServerStatus, type Station } from '@/apis'; import { ndmClient, userClient, type MediaServerStatus, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const isMediaServerAliveApi = async (options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const isMediaServerAliveApi = async (options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,9 +7,7 @@ export const isMediaServerAliveApi = async (options?: { stationCode?: Station['c
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmServiceAvailable/mediaServer/isAlive`; const endpoint = `${prefix}/api/ndm/ndmServiceAvailable/mediaServer/isAlive`;
const resp = await client.get<MediaServerStatus[]>(endpoint, { signal }); const resp = await client.get<MediaServerStatus[]>(endpoint, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -18,8 +17,6 @@ export const isSipServerAliveApi = async (options?: { stationCode?: Station['cod
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmServiceAvailable/sipServer/isAlive`; const endpoint = `${prefix}/api/ndm/ndmServiceAvailable/sipServer/isAlive`;
const resp = await client.get<boolean>(endpoint, { signal }); const resp = await client.get<boolean>(endpoint, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (data === null) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -10,6 +10,7 @@ import {
type PageResult, type PageResult,
type Station, type Station,
} from '@/apis'; } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageSwitchApi = async (pageQuery: PageParams<NdmSwitchPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageSwitchApi = async (pageQuery: PageParams<NdmSwitchPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -17,9 +18,7 @@ export const pageSwitchApi = async (pageQuery: PageParams<NdmSwitchPageQuery>, o
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSwitch/page`; const endpoint = `${prefix}/api/ndm/ndmSwitch/page`;
const resp = await client.post<PageResult<NdmSwitchResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmSwitchResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -29,9 +28,7 @@ export const detailSwitchApi = async (id: string, options?: { stationCode?: Stat
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSwitch/detail`; const endpoint = `${prefix}/api/ndm/ndmSwitch/detail`;
const resp = await client.get<NdmSwitchResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmSwitchResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -41,9 +38,7 @@ export const saveSwitchApi = async (saveVO: NdmSwitchSaveVO, options?: { station
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSwitch`; const endpoint = `${prefix}/api/ndm/ndmSwitch`;
const resp = await client.post<NdmSwitchResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmSwitchResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -53,9 +48,7 @@ export const updateSwitchApi = async (updateVO: NdmSwitchUpdateVO, options?: { s
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSwitch`; const endpoint = `${prefix}/api/ndm/ndmSwitch`;
const resp = await client.put<NdmSwitchResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmSwitchResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -65,9 +58,7 @@ export const deleteSwitchApi = async (ids: string[], options?: { stationCode?: S
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSwitch`; const endpoint = `${prefix}/api/ndm/ndmSwitch`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -77,9 +68,7 @@ export const exportSwitchApi = async (pageQuery: PageParams<NdmSwitchPageQuery>,
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSwitch/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmSwitch/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -91,9 +80,7 @@ export const importSwitchApi = async (file: File, options?: { stationCode?: Stat
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -103,6 +90,5 @@ export const probeSwitchApi = async (ids: string[], options?: { stationCode?: St
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmSwitch/probeByIds`; const endpoint = `${prefix}/api/ndm/ndmSwitch/probeByIds`;
const resp = await client.post<void>(endpoint, ids, { signal }); const resp = await client.post<void>(endpoint, ids, { signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type ImportMsg, type NdmNvrPageQuery, type NdmNvrResultVO, type NdmNvrSaveVO, type NdmNvrUpdateVO, type PageParams, type PageResult, type Station } from '@/apis'; import { ndmClient, userClient, type ImportMsg, type NdmNvrPageQuery, type NdmNvrResultVO, type NdmNvrSaveVO, type NdmNvrUpdateVO, type PageParams, type PageResult, type Station } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageNvrPageApi = async (pageQuery: PageParams<NdmNvrPageQuery>, options?: { stationCode: Station['code']; signal?: AbortSignal }) => { export const pageNvrPageApi = async (pageQuery: PageParams<NdmNvrPageQuery>, options?: { stationCode: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,9 +7,7 @@ export const pageNvrPageApi = async (pageQuery: PageParams<NdmNvrPageQuery>, opt
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmNvr/page`; const endpoint = `${prefix}/api/ndm/ndmNvr/page`;
const resp = await client.post<PageResult<NdmNvrResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmNvrResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -18,9 +17,7 @@ export const detailNvrApi = async (id: string, options?: { stationCode?: Station
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmNvr/detail`; const endpoint = `${prefix}/api/ndm/ndmNvr/detail`;
const resp = await client.get<NdmNvrResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmNvrResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -30,9 +27,7 @@ export const saveNvrApi = async (saveVO: NdmNvrSaveVO, options?: { stationCode?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmNvr`; const endpoint = `${prefix}/api/ndm/ndmNvr`;
const resp = await client.post<NdmNvrResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmNvrResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -42,9 +37,7 @@ export const updateNvrApi = async (updateVO: NdmNvrUpdateVO, options?: { station
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmNvr`; const endpoint = `${prefix}/api/ndm/ndmNvr`;
const resp = await client.put<NdmNvrResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmNvrResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -54,9 +47,7 @@ export const deleteNvrApi = async (ids: string[], options?: { stationCode?: Stat
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmNvr`; const endpoint = `${prefix}/api/ndm/ndmNvr`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -66,9 +57,7 @@ export const exportNvrApi = async (pageQuery: PageParams<NdmNvrPageQuery>, optio
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmNvr/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmNvr/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -80,9 +69,7 @@ export const importNvrApi = async (file: File, options?: { stationCode?: Station
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -92,8 +79,7 @@ export const probeNvrApi = async (ids: string[], options?: { stationCode?: Stati
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmNvr/probeByIds`; const endpoint = `${prefix}/api/ndm/ndmNvr/probeByIds`;
const resp = await client.post<void>(endpoint, ids, { signal }); const resp = await client.post<void>(endpoint, ids, { signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };
export const syncNvrChannelsApi = async (options?: { stationCode?: string; signal?: AbortSignal }) => { export const syncNvrChannelsApi = async (options?: { stationCode?: string; signal?: AbortSignal }) => {
@@ -102,6 +88,5 @@ export const syncNvrChannelsApi = async (options?: { stationCode?: string; signa
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmNvr/syncNvrChannels`; const endpoint = `${prefix}/api/ndm/ndmNvr/syncNvrChannels`;
const resp = await client.get<void>(endpoint, { signal }); const resp = await client.get<void>(endpoint, { signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };

View File

@@ -1,4 +1,5 @@
import { ndmClient, userClient, type NdmCameraIgnorePageQuery, type NdmCameraIgnoreResultVO, type NdmCameraIgnoreSaveVO, type NdmCameraIgnoreUpdateVO, type PageParams, type PageResult } from '@/apis'; import { ndmClient, userClient, type NdmCameraIgnorePageQuery, type NdmCameraIgnoreResultVO, type NdmCameraIgnoreSaveVO, type NdmCameraIgnoreUpdateVO, type PageParams, type PageResult } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageCameraIgnoreApi = async (pageQuery: PageParams<NdmCameraIgnorePageQuery>, options?: { stationCode?: string; signal?: AbortSignal }) => { export const pageCameraIgnoreApi = async (pageQuery: PageParams<NdmCameraIgnorePageQuery>, options?: { stationCode?: string; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -6,9 +7,7 @@ export const pageCameraIgnoreApi = async (pageQuery: PageParams<NdmCameraIgnoreP
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCameraIgnore/page`; const endpoint = `${prefix}/api/ndm/ndmCameraIgnore/page`;
const resp = await client.post<PageResult<NdmCameraIgnoreResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmCameraIgnoreResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -18,9 +17,7 @@ export const detailCameraIgnoreApi = async (id: string, options?: { stationCode?
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCameraIgnore/detail`; const endpoint = `${prefix}/api/ndm/ndmCameraIgnore/detail`;
const resp = await client.get<NdmCameraIgnoreResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmCameraIgnoreResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -30,9 +27,7 @@ export const saveCameraIgnoreApi = async (saveVO: NdmCameraIgnoreSaveVO, options
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`; const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`;
const resp = await client.post<NdmCameraIgnoreResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmCameraIgnoreResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -42,9 +37,7 @@ export const updateCameraIgnoreApi = async (updateVO: NdmCameraIgnoreUpdateVO, o
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`; const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`;
const resp = await client.put<NdmCameraIgnoreResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmCameraIgnoreResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -54,8 +47,6 @@ export const deleteCameraIgnoreApi = async (ids: string[], options?: { stationCo
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`; const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -11,6 +11,7 @@ import {
type SnapResult, type SnapResult,
type Station, type Station,
} from '@/apis'; } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageCameraApi = async (pageQuery: PageParams<NdmCameraPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageCameraApi = async (pageQuery: PageParams<NdmCameraPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -18,9 +19,7 @@ export const pageCameraApi = async (pageQuery: PageParams<NdmCameraPageQuery>, o
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCamera/page`; const endpoint = `${prefix}/api/ndm/ndmCamera/page`;
const resp = await client.post<PageResult<NdmCameraResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmCameraResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -30,9 +29,7 @@ export const detailCameraApi = async (id: string, options?: { stationCode?: Stat
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCamera/detail`; const endpoint = `${prefix}/api/ndm/ndmCamera/detail`;
const resp = await client.get<NdmCameraResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmCameraResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -42,9 +39,7 @@ export const saveCameraApi = async (saveVO: NdmCameraSaveVO, options?: { station
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCamera`; const endpoint = `${prefix}/api/ndm/ndmCamera`;
const resp = await client.post<NdmCameraResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmCameraResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -54,9 +49,7 @@ export const updateCameraApi = async (updateVO: NdmCameraUpdateVO, options?: { s
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCamera`; const endpoint = `${prefix}/api/ndm/ndmCamera`;
const resp = await client.put<NdmCameraResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmCameraResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -66,9 +59,7 @@ export const deleteCameraApi = async (ids: string[], options?: { stationCode?: S
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCamera`; const endpoint = `${prefix}/api/ndm/ndmCamera`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -78,9 +69,7 @@ export const exportCameraApi = async (pageQuery: PageParams<NdmCameraPageQuery>,
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCamera/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmCamera/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -92,9 +81,7 @@ export const importCameraApi = async (file: File, options?: { stationCode?: Stat
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -102,9 +89,7 @@ export const getCameraSnapApi = async (deviceId: string, options?: { signal?: Ab
const { signal } = options ?? {}; const { signal } = options ?? {};
const endpoint = `/api/ndm/ndmCamera/getSnapByDeviceId`; const endpoint = `/api/ndm/ndmCamera/getSnapByDeviceId`;
const resp = await ndmClient.get<SnapResult>(endpoint, { params: { deviceId }, signal }); const resp = await ndmClient.get<SnapResult>(endpoint, { params: { deviceId }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -114,8 +99,6 @@ export const syncCameraApi = async (options?: { stationCode?: string; signal?: A
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmCamera/syncCamera`; const endpoint = `${prefix}/api/ndm/ndmCamera/syncCamera`;
const resp = await client.get<boolean>(endpoint, { signal }); const resp = await client.get<boolean>(endpoint, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -10,6 +10,7 @@ import {
type PageResult, type PageResult,
type Station, type Station,
} from '@/apis'; } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageDecoderApi = async (pageQuery: PageParams<NdmDecoderPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageDecoderApi = async (pageQuery: PageParams<NdmDecoderPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -17,9 +18,7 @@ export const pageDecoderApi = async (pageQuery: PageParams<NdmDecoderPageQuery>,
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDecoder/page`; const endpoint = `${prefix}/api/ndm/ndmDecoder/page`;
const resp = await client.post<PageResult<NdmDecoderResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmDecoderResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -29,9 +28,7 @@ export const detailDecoderApi = async (id: string, options?: { stationCode?: Sta
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDecoder/detail`; const endpoint = `${prefix}/api/ndm/ndmDecoder/detail`;
const resp = await client.get<NdmDecoderResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmDecoderResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -41,9 +38,7 @@ export const saveDecoderApi = async (saveVO: NdmDecoderSaveVO, options?: { stati
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDecoder`; const endpoint = `${prefix}/api/ndm/ndmDecoder`;
const resp = await client.post<NdmDecoderResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmDecoderResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -53,9 +48,7 @@ export const updateDecoderApi = async (updateVO: NdmDecoderUpdateVO, options?: {
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDecoder`; const endpoint = `${prefix}/api/ndm/ndmDecoder`;
const resp = await client.put<NdmDecoderResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmDecoderResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -65,9 +58,7 @@ export const deleteDecoderApi = async (ids: string[], options?: { stationCode?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDecoder`; const endpoint = `${prefix}/api/ndm/ndmDecoder`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -77,9 +68,7 @@ export const exportDecoderApi = async (pageQuery: PageParams<NdmDecoderPageQuery
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDecoder/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmDecoder/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -91,9 +80,7 @@ export const importDecoderApi = async (file: File, options?: { stationCode?: Sta
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -103,6 +90,5 @@ export const probeDecoderApi = async (ids: string[], options?: { stationCode?: S
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmDecoder/probeByIds`; const endpoint = `${prefix}/api/ndm/ndmDecoder/probeByIds`;
const resp = await client.post<void>(endpoint, ids, { signal }); const resp = await client.post<void>(endpoint, ids, { signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };

View File

@@ -10,6 +10,7 @@ import {
type PageResult, type PageResult,
type Station, type Station,
} from '@/apis'; } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageKeyboardApi = async (pageQuery: PageParams<NdmKeyboardPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageKeyboardApi = async (pageQuery: PageParams<NdmKeyboardPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -17,9 +18,7 @@ export const pageKeyboardApi = async (pageQuery: PageParams<NdmKeyboardPageQuery
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmKeyboard/page`; const endpoint = `${prefix}/api/ndm/ndmKeyboard/page`;
const resp = await client.post<PageResult<NdmKeyboardResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmKeyboardResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -29,9 +28,7 @@ export const detailKeyboardApi = async (id: string, options?: { stationCode?: St
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmKeyboard/detail`; const endpoint = `${prefix}/api/ndm/ndmKeyboard/detail`;
const resp = await client.get<NdmKeyboardResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmKeyboardResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -41,9 +38,7 @@ export const saveKeyboardApi = async (saveVO: NdmKeyboardSaveVO, options?: { sta
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmKeyboard`; const endpoint = `${prefix}/api/ndm/ndmKeyboard`;
const resp = await client.post<NdmKeyboardResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmKeyboardResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -53,9 +48,7 @@ export const updateKeyboardApi = async (updateVO: NdmKeyboardUpdateVO, options?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmKeyboard`; const endpoint = `${prefix}/api/ndm/ndmKeyboard`;
const resp = await client.put<NdmKeyboardResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmKeyboardResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -65,9 +58,7 @@ export const deleteKeyboardApi = async (ids: string[], options?: { stationCode?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmKeyboard`; const endpoint = `${prefix}/api/ndm/ndmKeyboard`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -77,9 +68,7 @@ export const exportKeyboardApi = async (pageQuery: PageParams<NdmKeyboardPageQue
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmKeyboard/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmKeyboard/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -91,8 +80,6 @@ export const importKeyboardApi = async (file: File, options?: { stationCode?: St
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -10,6 +10,7 @@ import {
type PageResult, type PageResult,
type Station, type Station,
} from '@/apis'; } from '@/apis';
import { unwrapResponse } from '@/utils';
export const postNdmMediaServerPage = async (pageQuery: PageParams<NdmMediaServerPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const postNdmMediaServerPage = async (pageQuery: PageParams<NdmMediaServerPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -17,9 +18,7 @@ export const postNdmMediaServerPage = async (pageQuery: PageParams<NdmMediaServe
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmMediaServer/page`; const endpoint = `${prefix}/api/ndm/ndmMediaServer/page`;
const resp = await client.post<PageResult<NdmMediaServerResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmMediaServerResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -29,9 +28,7 @@ export const detailMediaServerApi = async (id: string, options?: { stationCode?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmMediaServer/detail`; const endpoint = `${prefix}/api/ndm/ndmMediaServer/detail`;
const resp = await client.get<NdmMediaServerResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmMediaServerResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -41,9 +38,7 @@ export const saveMediaServerApi = async (saveVO: NdmMediaServerSaveVO, options?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmMediaServer`; const endpoint = `${prefix}/api/ndm/ndmMediaServer`;
const resp = await client.post<NdmMediaServerResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmMediaServerResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -53,9 +48,7 @@ export const updateMediaServerApi = async (updateVO: NdmMediaServerUpdateVO, opt
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmMediaServer`; const endpoint = `${prefix}/api/ndm/ndmMediaServer`;
const resp = await client.put<NdmMediaServerResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmMediaServerResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -65,9 +58,7 @@ export const deleteMediaServerApi = async (ids: string[], options?: { stationCod
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmMediaServer`; const endpoint = `${prefix}/api/ndm/ndmMediaServer`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -77,9 +68,7 @@ export const exportMediaServerApi = async (pageQuery: PageParams<NdmMediaServerP
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmMediaServer/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmMediaServer/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -91,9 +80,7 @@ export const importMediaServerApi = async (file: File, options?: { stationCode?:
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -103,6 +90,5 @@ export const probeMediaServerApi = async (ids: string[], options?: { stationCode
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmMediaServer/probeByIds`; const endpoint = `${prefix}/api/ndm/ndmMediaServer/probeByIds`;
const resp = await client.post<void>(endpoint, ids, { signal }); const resp = await client.post<void>(endpoint, ids, { signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };

View File

@@ -10,6 +10,7 @@ import {
type PageResult, type PageResult,
type Station, type Station,
} from '@/apis'; } from '@/apis';
import { unwrapResponse } from '@/utils';
export const pageVideoServerApi = async (pageQuery: PageParams<NdmVideoServerPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageVideoServerApi = async (pageQuery: PageParams<NdmVideoServerPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -17,9 +18,7 @@ export const pageVideoServerApi = async (pageQuery: PageParams<NdmVideoServerPag
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVideoServer/page`; const endpoint = `${prefix}/api/ndm/ndmVideoServer/page`;
const resp = await client.post<PageResult<NdmVideoServerResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<NdmVideoServerResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -29,9 +28,7 @@ export const detailVideoServerApi = async (id: string, options?: { stationCode?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVideoServer/detail`; const endpoint = `${prefix}/api/ndm/ndmVideoServer/detail`;
const resp = await client.get<NdmVideoServerResultVO>(endpoint, { params: { id }, signal }); const resp = await client.get<NdmVideoServerResultVO>(endpoint, { params: { id }, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -41,9 +38,7 @@ export const saveVideoServerApi = async (saveVO: NdmVideoServerSaveVO, options?:
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVideoServer`; const endpoint = `${prefix}/api/ndm/ndmVideoServer`;
const resp = await client.post<NdmVideoServerResultVO>(endpoint, saveVO, { signal }); const resp = await client.post<NdmVideoServerResultVO>(endpoint, saveVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -53,9 +48,7 @@ export const updateVideoServerApi = async (id: string, updateVO: NdmVideoServerU
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVideoServer`; const endpoint = `${prefix}/api/ndm/ndmVideoServer`;
const resp = await client.put<NdmVideoServerResultVO>(endpoint, updateVO, { signal }); const resp = await client.put<NdmVideoServerResultVO>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -65,9 +58,7 @@ export const deleteVideoServerApi = async (ids: string[], options?: { stationCod
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVideoServer`; const endpoint = `${prefix}/api/ndm/ndmVideoServer`;
const resp = await client.delete<boolean>(endpoint, ids, { signal }); const resp = await client.delete<boolean>(endpoint, ids, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -77,9 +68,7 @@ export const exportVideoServerApi = async (pageQuery: PageParams<NdmVideoServerP
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVideoServer/defaultExportByTemplate`; const endpoint = `${prefix}/api/ndm/ndmVideoServer/defaultExportByTemplate`;
const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal }); const resp = await client.post<Blob>(endpoint, pageQuery, { responseType: 'blob', retRaw: true, signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -91,9 +80,7 @@ export const importVideoServerApi = async (file: File, options?: { stationCode?:
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true }); const resp = await client.post<ImportMsg>(endpoint, formData, { signal, upload: true });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -103,6 +90,5 @@ export const probeVideoServerApi = async (ids: string[], options?: { stationCode
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/ndm/ndmVideoServer/probeByIds`; const endpoint = `${prefix}/api/ndm/ndmVideoServer/probeByIds`;
const resp = await client.post<void>(endpoint, ids, { signal }); const resp = await client.post<void>(endpoint, ids, { signal });
const [err] = resp; unwrapResponse(resp);
if (err) throw err;
}; };

View File

@@ -1,5 +1,6 @@
import { ndmClient, userClient, type DefParameterPageQuery, type DefParameterResultVO, type DefParameterUpdateVO, type PageParams, type PageResult, type Station } from '@/apis'; import { ndmClient, userClient, type DefParameterPageQuery, type DefParameterResultVO, type DefParameterUpdateVO, type PageParams, type PageResult, type Station } from '@/apis';
import type { Result } from '@/types'; import type { Result } from '@/types';
import { unwrapResponse } from '@/utils';
export const pageDefParameterApi = async (pageQuery: PageParams<DefParameterPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { export const pageDefParameterApi = async (pageQuery: PageParams<DefParameterPageQuery>, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => {
const { stationCode, signal } = options ?? {}; const { stationCode, signal } = options ?? {};
@@ -7,9 +8,7 @@ export const pageDefParameterApi = async (pageQuery: PageParams<DefParameterPage
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/system/defParameter/page`; const endpoint = `${prefix}/api/system/defParameter/page`;
const resp = await client.post<PageResult<DefParameterResultVO>>(endpoint, pageQuery, { signal }); const resp = await client.post<PageResult<DefParameterResultVO>>(endpoint, pageQuery, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };
@@ -19,8 +18,6 @@ export const updateDefParameterApi = async (updateVO: DefParameterUpdateVO, opti
const prefix = stationCode ? `/${stationCode}` : ''; const prefix = stationCode ? `/${stationCode}` : '';
const endpoint = `${prefix}/api/system/defParameter`; const endpoint = `${prefix}/api/system/defParameter`;
const resp = await client.put<Result<DefParameterResultVO>>(endpoint, updateVO, { signal }); const resp = await client.put<Result<DefParameterResultVO>>(endpoint, updateVO, { signal });
const [err, data] = resp; const data = unwrapResponse(resp);
if (err) throw err;
if (!data) throw new Error(`${data}`);
return data; return data;
}; };

View File

@@ -1,10 +1,10 @@
export interface Result<T = unknown> { export interface Result<T = unknown> {
isSuccess: boolean;
code: number; code: number;
data: T; data: T;
errorMsg: string;
extra: unknown;
isSuccess: boolean;
msg: string; msg: string;
path?: string; errorMsg: string;
timestamp: string; timestamp: string;
path: string | null;
extra: Record<string, any> | null;
} }

View File

@@ -114,23 +114,54 @@ export class RequestClient {
} }
} }
export const parseErrorFeedback = (error: Error) => { // 从响应中解析出数据
let errorFeedback: string; export const unwrapResponse = <T>(resp: Response<T>) => {
if (!isAxiosError(error)) { const [err, data, result] = resp;
errorFeedback = error.message;
} else { // 如果 err 存在说明有 http 错误,那么直接抛出错误,
const axiosError = error as AxiosError; // 如果没有 err那么接下来判断是否存在业务错误。
const respData = axiosError.response?.data as Record<string, string | number> | string | undefined;
if (!respData) { // 如果 result 中 isSuccess 为 false说明有业务错误
const { code, message } = axiosError; // 如果 result 不存在,说明 retRaw 为 true是直接返回 data 的情况。
errorFeedback = `${code} : ${message}`;
} else { if (err) throw err;
if (typeof respData === 'string') {
errorFeedback = respData; // 不能判断 !result 从而提前结束分支,
} else { // 因为当 retRaw 为 true 时result 总是为 null。
errorFeedback = `${respData['path']}: ${respData['msg'] ?? respData['errorMsg'] ?? respData['error']}`; if (result) {
} const { isSuccess, path, msg, errorMsg } = result;
} if (!isSuccess) throw new Error(`${path ? `${path}: ` : ''}${msg || errorMsg || '请求失败'}`);
} }
return errorFeedback;
// 不做严格判空null == undefined -> true
if (data == null) throw new Error('响应数据为空');
return data;
};
// 从错误中解析出错误信息
export const parseErrorFeedback = (error: Error) => {
// 当发生 http 错误时unwrapResponse 会直接抛出错误,
// 所以如果不是 AxiosError说明是业务错误直接返回错误信息。
if (!isAxiosError(error)) {
return error.message;
}
// 如果是 AxiosError说明是 http 错误,尝试获取 result
const result = error.response?.data;
// 如果 result 不存在,返回 error 中原生的 code + message
if (!result) {
const { code, message } = error;
return `${code ? `code: ${code}, ` : ''}${message ? `message: ${message}` : ''}`;
}
// 如果 result 存在,判断是否是字符串,
// 如果是字符串,说明是一些奇怪的、直接返回的错误信息,直接返回;
// 如果不是字符串,说明是 Result 类型,返回其中的 path + msg + errorMsg。
if (typeof result === 'string') {
return result;
}
const { path, msg, errorMsg } = result as Result;
return `${path ? `${path}: ` : ''}${msg || errorMsg || '请求失败'}`;
}; };