study.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. export interface StudyRecord {
  2. id: number;
  3. knowledgeName: string;
  4. rate: number;
  5. questionNum: number;
  6. }
  7. export interface TeachClass {
  8. classId: number;
  9. schoolId: number;
  10. year: number;
  11. name: string;
  12. }
  13. export interface StudentStat {
  14. id: number;
  15. avatar?: string;
  16. name: string;
  17. questionNum: number;
  18. dateNum: number;
  19. rate: number;
  20. }
  21. export interface StudentExamRecord {
  22. id: number;
  23. name: string;
  24. score: number;
  25. status: number;
  26. }
  27. export interface StudentVideoRecord {
  28. id: number;
  29. name: string;
  30. date: string;
  31. duration: number;
  32. }
  33. export interface StudentVideoStat {
  34. id: number;
  35. avatar?: string;
  36. name: string;
  37. videoCount: number;
  38. duration: number;
  39. }
  40. /**
  41. * 学习计划
  42. */
  43. export interface StudyPlan {
  44. id: number;
  45. beginTime: string;
  46. questionCnt: number;
  47. studentId: number;
  48. videoTime: number;
  49. status: number;
  50. }
  51. export interface Subject {
  52. subjectId: number;
  53. subjectName: string;
  54. }
  55. export interface Knowledge {
  56. id: number;
  57. name: string;
  58. status: number;
  59. questionCount: number;
  60. children: Knowledge[];
  61. }
  62. export type KnowledgeNode = Pick<Knowledge, 'id' | 'name' | 'status' | 'questionCount'> & {
  63. isExpanded: boolean;
  64. isLeaf: boolean;
  65. actualHeight: number;
  66. children: KnowledgeNode[];
  67. }
  68. export interface QuestionState {
  69. isDone?: boolean;
  70. isMark?: boolean;
  71. isNotKnow?: boolean;
  72. isFavorite?: boolean;
  73. }
  74. /**
  75. * 试卷
  76. */
  77. export interface ExamPaper {
  78. id: number;
  79. paperName: string;
  80. paperType: string;
  81. questions: ApiQuestion[];
  82. score?: number;
  83. subjectId: number;
  84. year: number;
  85. }
  86. export interface ApiQuestion extends QuestionState {
  87. id: number;
  88. title: string;
  89. typeId: number;
  90. options: string[];
  91. answer: (string | number)[];
  92. subQuestions: ApiQuestion[];
  93. }
  94. export interface ExamPaperSubmit {
  95. id: number;
  96. paperName: string;
  97. paperType: string;
  98. questions: Question[];
  99. score?: number;
  100. subjectId: number;
  101. year: number;
  102. duration?: number;
  103. }
  104. export interface QuestionOption {
  105. id: number;
  106. no: string | number; // A, B, C, D
  107. name: string;
  108. isAnswer: boolean;
  109. }
  110. export interface Question extends QuestionState {
  111. id: number;
  112. title: string;
  113. typeId: number;
  114. options: QuestionOption[];
  115. answer: (string | number)[];
  116. subQuestions: Question[];
  117. }
  118. export interface QuestionOption {
  119. id: number;
  120. no: string | number; // A, B, C, D
  121. name: string;
  122. isAnswer: boolean;
  123. }
  124. export function QuestionOption(arg0: (option: string, index: number) => { name: string; no: string; id: number; isAnswer: false; }, as: any, QuestionOption: any): QuestionOption[] {
  125. throw new Error("Function not implemented.");
  126. }