import type { Difficulty } from '#/views/x/tms/question/types';
|
import type { SelfTestDifficulty } from './constants';
|
|
/** 自我检测抽题条件 */
|
export interface SelfTestTypeSetting {
|
count: number;
|
difficulty: SelfTestDifficulty;
|
}
|
|
export interface SelfTestFormModel {
|
bankId?: string;
|
single: SelfTestTypeSetting;
|
multi: SelfTestTypeSetting;
|
judge: SelfTestTypeSetting;
|
}
|
|
export interface SelfTestStartPayload {
|
bankId: string;
|
bankName?: string;
|
single: SelfTestTypeSetting;
|
multi: SelfTestTypeSetting;
|
judge: SelfTestTypeSetting;
|
}
|
|
/** 抽题结果 / 检测详情 */
|
export interface SelfTestPaper {
|
paperId: string;
|
bankId: string;
|
bankName: string;
|
testStatus?: string;
|
totalCount?: number;
|
correctCount?: number;
|
scoreRate?: number;
|
startTime?: string;
|
submitTime?: string;
|
questions: SelfTestQuestionItem[];
|
}
|
|
export interface SelfTestQuestionItem {
|
id: string;
|
questionNo?: string;
|
questionType: 'single' | 'multi' | 'judge';
|
difficulty?: Difficulty;
|
stem: string;
|
options: { optionLabel: string; optionContent: string; isCorrect: '0' | '1' }[];
|
/** 回顾字段 */
|
correctAnswer?: string;
|
userAnswer?: string;
|
isRight?: '0' | '1';
|
sortNo?: number;
|
}
|
|
export interface SelfTestSubmitPayload {
|
answers: Record<string, string | string[]>;
|
}
|
|
export interface SelfTestSubmitResult {
|
paperId: string;
|
totalCount: number;
|
correctCount: number;
|
scoreRate: number;
|
}
|
|
export interface SelfTestRecordItem {
|
id: string;
|
bankId: string;
|
bankName: string;
|
totalCount: number;
|
correctCount?: number;
|
scoreRate?: number;
|
testStatus: string;
|
startTime?: string;
|
submitTime?: string;
|
}
|