import type { TrainModeItem, TrainModePageQuery } from '#/views/x/tms/trainMode/types';
|
|
import { defHttp } from '#/api/request';
|
|
/** 正式路径:/api/tms/train-mode/** */
|
const prefix = '/api/tms/train-mode';
|
|
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 getTrainModeList(params: TrainModePageQuery) {
|
return unwrapData<{ list: TrainModeItem[]; pagination: Record<string, any> }>(
|
defHttp.get({ url: `${prefix}/list`, params }),
|
);
|
}
|
|
export function getTrainModeInfo(id: string) {
|
return unwrapData<TrainModeItem>(defHttp.get({ url: `${prefix}/${id}` }));
|
}
|
|
export function createTrainMode(data: Partial<TrainModeItem>) {
|
return unwrapData<string>(defHttp.post({ url: prefix, data }));
|
}
|
|
export function updateTrainMode(data: Partial<TrainModeItem> & { id: string }) {
|
return unwrapData(defHttp.put({ url: `${prefix}/${data.id}`, data }));
|
}
|
|
export function setTrainModeEnabled(id: string, enabled: '0' | '1') {
|
return unwrapData(defHttp.put({ url: `${prefix}/${id}/enabled`, data: { enabled } }));
|
}
|
|
export function deleteTrainMode(id: string) {
|
return unwrapData(defHttp.delete({ url: `${prefix}/${id}` }));
|
}
|