import type {
|
GradeExamDetail,
|
GradeSessionListItem,
|
GradeSessionPageQuery,
|
GradeSubmitPayload,
|
} from '#/views/x/tms/examGrade/types';
|
|
import { defHttp } from '#/api/request';
|
import {
|
mockGetGradeExamDetail,
|
mockGetGradeSession,
|
mockQueryGradeExams,
|
mockQueryGradeSessions,
|
mockSubmitGrade,
|
} from '#/views/x/tms/examGrade/mock';
|
|
/** 后端未就绪前走 mock;联调后改为 false */
|
const USE_MOCK = true;
|
const prefix = '/api/tms/exam-grade';
|
|
export function getGradeSessionList(params: GradeSessionPageQuery) {
|
if (USE_MOCK) return mockQueryGradeSessions(params);
|
return defHttp.get({ url: `${prefix}/sessions`, params });
|
}
|
|
export function getGradeSessionInfo(id: string) {
|
if (USE_MOCK) return mockGetGradeSession(id);
|
return defHttp.get<GradeSessionListItem>({ url: `${prefix}/sessions/${id}` });
|
}
|
|
export function getGradeExamList(sessionId: string) {
|
if (USE_MOCK) return mockQueryGradeExams(sessionId);
|
return defHttp.get({ url: `${prefix}/sessions/${sessionId}/exams` });
|
}
|
|
export function getGradeExamDetail(examId: string) {
|
if (USE_MOCK) return mockGetGradeExamDetail(examId);
|
return defHttp.get<GradeExamDetail>({ url: `${prefix}/exams/${examId}` });
|
}
|
|
export function submitGrade(data: GradeSubmitPayload) {
|
if (USE_MOCK) return mockSubmitGrade(data);
|
return defHttp.post({ url: `${prefix}/exams/${data.examId}/submit`, data });
|
}
|