| | |
| | | import type { TmsRecordDetail, TmsRecordPageQuery } from '#/views/x/tms/record/types'; |
| | | |
| | | import { defHttp } from '#/api/request'; |
| | | import { |
| | | mockArchiveRecords, |
| | | mockDeleteRecords, |
| | | mockGetRecordDetail, |
| | | mockQueryRecords, |
| | | mockUpdateRecord, |
| | | } from '#/views/x/tms/record/mock'; |
| | | |
| | | /** 后端未就绪前走 mock;联调后改为 false */ |
| | | const USE_MOCK = true; |
| | | /** 正式路径:/api/tms/record/** */ |
| | | const prefix = '/api/tms/record'; |
| | | |
| | | async function unwrapData<T>(promise: Promise<any>): Promise<T> { |
| | | const res = await promise; |
| | | if (res && typeof res === 'object' && 'data' in res && ('code' in res || 'msg' in res)) { |
| | | return res.data as T; |
| | | } |
| | | return res as T; |
| | | } |
| | | |
| | | export function getTmsRecordList(params: TmsRecordPageQuery) { |
| | | if (USE_MOCK) return mockQueryRecords(params); |
| | | return defHttp.get({ url: `${prefix}/list`, params }); |
| | | return unwrapData<{ list: any[]; pagination: Record<string, any> }>( |
| | | defHttp.get({ url: `${prefix}/list`, params }), |
| | | ); |
| | | } |
| | | |
| | | export function getTmsRecordDetail(id: string) { |
| | | if (USE_MOCK) return mockGetRecordDetail(id); |
| | | return defHttp.get<TmsRecordDetail>({ url: `${prefix}/${id}` }); |
| | | return unwrapData<TmsRecordDetail>(defHttp.get({ url: `${prefix}/${id}` })); |
| | | } |
| | | |
| | | export function updateTmsRecord(id: string, data: Record<string, any>) { |
| | | if (USE_MOCK) return mockUpdateRecord(id, data); |
| | | return defHttp.put({ url: `${prefix}/${id}`, data }); |
| | | return unwrapData(defHttp.put({ url: `${prefix}/${id}`, data })); |
| | | } |
| | | |
| | | export function archiveTmsRecords(ids: string[]) { |
| | | if (USE_MOCK) return mockArchiveRecords(ids); |
| | | return defHttp.post({ url: `${prefix}/archive`, data: { ids } }); |
| | | return unwrapData<number>(defHttp.post({ url: `${prefix}/archive`, data: { ids } })); |
| | | } |
| | | |
| | | export function deleteTmsRecords(ids: string[]) { |
| | | if (USE_MOCK) return mockDeleteRecords(ids); |
| | | return defHttp.delete({ url: `${prefix}`, data: { ids } }); |
| | | return unwrapData(defHttp.delete({ url: `${prefix}`, data: { ids } })); |
| | | } |