QuizSerializer.md 793 B

QuizSerializer

测试

Attribute

/** 已实现的枚举类 */
type SlideState =
  | "DRAFT"
  | "BEFORE_CLASS" // 课前
  | "IN_CLASS" // 课中
  | "AFTER_CLASS" // 课后
  | "FINISH"; // 最终截止

type QuizState =
  | "NOT_STARTED" // 未开始
  | "ONGOING" // 正在进行
  | "CLOSED"; // 已结束

interface QuizSerializer<T extends QuizState> {
  id: number;
  name: string; // 测试名
  state: T; // 考试状态
  course: CourseSerializer; // 课程详情
  quizTime: SlideState;
  slide: SlideSerializer;
  questions: Array<
    T extends "CLOSED"
      ? QuestionWithStudentAnswerSerializer
      : QuestionWithoutAnswerSerializer
  >;
}

interface QuizBasicSerialzer extends Omit<QuizSerialzier, "questions"> {
  questionNumber: number; // 题目数量
}