study.ts 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. import { ApiResponse, ApiResponseList } from "@/types";
  2. import flyio from "../flyio";
  3. import { DirectedSchool, Examinee, ExamPaper, ExamPaperSubmit, GetExamPaperRequestDTO, Knowledge, KnowledgeListRequestDTO, KnowledgeRecord, OpenExamineeRequestDTO, PracticeHistory, PracticeRecord, SimulatedRecord, SimulationExamSubject, SimulationTestInfo, StudyPlan, Subject, SubjectListRequestDTO, VideoStudyRecord } from "@/types/study";
  4. /**
  5. * 获取学习计划
  6. * @param params
  7. * @returns
  8. */
  9. export function getStudyPlan() {
  10. return flyio.get('/front/student/plan') as Promise<ApiResponse<StudyPlan>>;
  11. }
  12. /**
  13. * 保存学习计划
  14. * @param params
  15. * @returns
  16. */
  17. export function saveStudyPlan(params: StudyPlan) {
  18. return flyio.post('/front/student/plan', params) as Promise<ApiResponse<any>>;
  19. }
  20. /**
  21. * 获取学习计划统计
  22. * @param params
  23. * @returns
  24. */
  25. export function getStudyPlanStats(params: any) {
  26. return flyio.get('/front/student/plan/stats', params) as Promise<ApiResponse<any>>;
  27. }
  28. /**
  29. * 获取定向学校列表
  30. * @param params
  31. * @returns
  32. */
  33. export function getDirectedSchool() {
  34. return flyio.get('/front/student/directed/school') as Promise<ApiResponse<DirectedSchool[]>>;
  35. }
  36. /**
  37. * 保存定向学校
  38. * @param params
  39. * @returns
  40. */
  41. export function saveDirectedSchool(params: DirectedSchool[]) {
  42. return flyio.post('/front/student/directed/school', params) as Promise<ApiResponse<any>>;
  43. }
  44. /**
  45. * 获取科目列表
  46. * @param params
  47. * @returns
  48. */
  49. export function getSubjectList(params: SubjectListRequestDTO) {
  50. return flyio.get('/front/paper/subject', params) as Promise<ApiResponse<Subject[]>>;
  51. }
  52. /**
  53. * 获取科目下的知识点
  54. * @param params
  55. * @returns
  56. */
  57. export function getKnowledgeList(params: KnowledgeListRequestDTO) {
  58. return flyio.get('/front/paper/knowledge', params) as Promise<ApiResponse<Knowledge[]>>;
  59. }
  60. /**
  61. * 开卷
  62. * @param params
  63. * @returns
  64. */
  65. export function getOpenExaminee(params: OpenExamineeRequestDTO) {
  66. return flyio.post('/front/exam/openExaminee', null, { params }, {
  67. headers: {
  68. 'Content-Type': 'application/www-form-urlencoded'
  69. }
  70. }) as Promise<ApiResponse<Examinee>>;
  71. }
  72. /**
  73. * 获取试卷
  74. * @param params
  75. * @returns
  76. */
  77. export function getPaper(params: GetExamPaperRequestDTO) {
  78. return flyio.get('/front/paper/paper', params) as Promise<ApiResponse<ExamPaper>>;
  79. }
  80. /**
  81. * 提交试卷
  82. * @param params
  83. * @returns
  84. */
  85. export function commitExamineePaper(params: ExamPaperSubmit) {
  86. return flyio.post('/front/exam/commitExamineePaper', params) as Promise<ApiResponse<any>>;
  87. }
  88. /**
  89. * 获取试卷结果
  90. */
  91. export function getExamineeResult(examineeId: number) {
  92. return flyio.get('/front/exam/loadExaminee', { examineeId }) as Promise<ApiResponse<Examinee>>;
  93. }
  94. /**
  95. * 获取模拟考试信息
  96. * @param params
  97. * @returns
  98. */
  99. export function getSimulationInfo() {
  100. return flyio.get('/front/student/simulated/info') as Promise<ApiResponse<SimulationTestInfo>>;
  101. }
  102. /**
  103. * 收藏题目
  104. */
  105. export function collectQuestion(questionId: number) {
  106. return flyio.post('/front/questions/collect', null, { params: { questionId } }) as Promise<ApiResponse<any>>;
  107. }
  108. /**
  109. * 取消收藏题目
  110. */
  111. export function cancelCollectQuestion(questionId: number) {
  112. return flyio.post('/front/questions/cancelCollect', null, { params: { questionId } }) as Promise<ApiResponse<any>>;
  113. }
  114. /**
  115. * 获取知识点学习记录
  116. * @param params
  117. * @returns
  118. */
  119. export function getKnowledgeRecord() {
  120. return flyio.get('/front/student/record/knowledge') as Promise<ApiResponseList<KnowledgeRecord>>;
  121. }
  122. /**
  123. * 获取模拟考试记录
  124. * @param params
  125. * @returns
  126. */
  127. export function getSimulatedRecord() {
  128. return flyio.get('/front/student/record/simulated') as Promise<ApiResponse<SimulatedRecord[]>>;
  129. }
  130. /**
  131. * 获取计划学习记录
  132. * @param params
  133. * @returns
  134. */
  135. export function getPlanStudyRecord(params: { year: number, month: number }) {
  136. return flyio.get('/front/student/record/planStudy', params) as Promise<ApiResponse<PracticeRecord>>;
  137. }
  138. /**
  139. * 获取视频学习记录
  140. * @param params
  141. * @returns
  142. */
  143. export function getVideoStudyRecord() {
  144. return flyio.get('/front/student/record/video') as Promise<ApiResponse<VideoStudyRecord>>;
  145. }
  146. /**
  147. * 获取模拟考试科目
  148. * @param params
  149. * @returns
  150. */
  151. export function getSimulationExamSubjects() {
  152. return flyio.get('/front/exam/subjects') as Promise<ApiResponse<SimulationExamSubject[]>>;
  153. }
  154. /**
  155. * 开始考试
  156. * @param paperId
  157. * @returns
  158. */
  159. export function beginExaminee(examineeId: number) {
  160. return flyio.get('/front/exam/beginExaminee', { examineeId }) as Promise<ApiResponse<Examinee>>;
  161. }
  162. /**
  163. * 纠错
  164. * @param params
  165. * @returns
  166. */
  167. export function correctQuestion(params: { questionid: number, remark: string }) {
  168. return flyio.post('/front/adjustWrong/correctQuestion', params) as Promise<ApiResponse<any>>;
  169. }
  170. /**
  171. * 获取计划学习记录
  172. * @param params
  173. * @returns
  174. */
  175. export function getPracticeHistory(params: { directed: boolean }) {
  176. return flyio.get('/front/student/record/practice', params) as Promise<ApiResponseList<PracticeHistory>>;
  177. }