import type { QuestionBankOption, QuestionEntity, QuestionPageQuery } from '#/views/x/tms/question/types';
|
|
import { defHttp } from '#/api/request';
|
import {
|
mockCreateQuestion,
|
mockDeleteQuestion,
|
mockGetAdmins,
|
mockGetBanks,
|
mockGetQuestion,
|
mockQueryQuestions,
|
mockUpdateQuestion,
|
} from '#/views/x/tms/question/mock';
|
|
/**
|
* 后端 API 未就绪前走本地 mock;联调 jnpf-tms 后改为 false。
|
* 正式路径约定:/api/tms/question/**
|
*/
|
const USE_MOCK = true;
|
|
const prefix = '/api/tms/question';
|
|
export function getQuestionBanks() {
|
if (USE_MOCK) return mockGetBanks();
|
return defHttp.get<QuestionBankOption[]>({ url: `${prefix}/banks` });
|
}
|
|
export function getQuestionAdmins() {
|
if (USE_MOCK) return mockGetAdmins();
|
return defHttp.get<{ id: string; fullName: string }[]>({ url: `${prefix}/admins` });
|
}
|
|
export function getQuestionList(params: QuestionPageQuery) {
|
if (USE_MOCK) return mockQueryQuestions(params);
|
return defHttp.get({ url: `${prefix}/list`, params });
|
}
|
|
export function getQuestionInfo(id: string) {
|
if (USE_MOCK) return mockGetQuestion(id);
|
return defHttp.get<QuestionEntity>({ url: `${prefix}/${id}` });
|
}
|
|
export function createQuestion(data: QuestionEntity) {
|
if (USE_MOCK) return mockCreateQuestion(data);
|
return defHttp.post({ url: prefix, data });
|
}
|
|
export function updateQuestion(data: QuestionEntity) {
|
if (USE_MOCK) return mockUpdateQuestion(data);
|
return defHttp.put({ url: `${prefix}/${data.id}`, data });
|
}
|
|
export function deleteQuestion(id: string) {
|
if (USE_MOCK) return mockDeleteQuestion(id);
|
return defHttp.delete({ url: `${prefix}/${id}` });
|
}
|