study.ts 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  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 getTextbooksKnowledgeList() {
  66. return flyio.get('/front/paper/courseKnowledge', {}) as Promise<ApiResponse<Knowledge[]>>;
  67. }
  68. /**
  69. * 开卷
  70. * @param params
  71. * @returns
  72. */
  73. export function getOpenExaminee(params: OpenExamineeRequestDTO) {
  74. return flyio.post('/front/exam/openExaminee', null, { params }, {
  75. headers: {
  76. 'Content-Type': 'application/www-form-urlencoded'
  77. }
  78. }) as Promise<ApiResponse<Examinee>>;
  79. }
  80. /**
  81. * 获取试卷
  82. * @param params
  83. * @returns
  84. */
  85. export function getPaper(params: GetExamPaperRequestDTO) {
  86. return flyio.get('/front/paper/paper', params) as Promise<ApiResponse<ExamPaper>>;
  87. }
  88. /**
  89. * 提交试卷
  90. * @param params
  91. * @returns
  92. */
  93. export function commitExamineePaper(params: ExamPaperSubmit) {
  94. return flyio.post('/front/exam/commitExamineePaper', params) as Promise<ApiResponse<any>>;
  95. }
  96. /**
  97. * 获取试卷结果
  98. */
  99. export function getExamineeResult(examineeId: number) {
  100. return flyio.get('/front/exam/loadExaminee', { examineeId }) as Promise<ApiResponse<Examinee>>;
  101. }
  102. /**
  103. * 获取模拟考试信息
  104. * @param params
  105. * @returns
  106. */
  107. export function getSimulationInfo() {
  108. return flyio.get('/front/student/simulated/info') as Promise<ApiResponse<SimulationTestInfo>>;
  109. }
  110. /**
  111. * 收藏题目
  112. */
  113. export function collectQuestion(questionId: number) {
  114. return flyio.post('/front/questions/collect', null, { params: { questionId } }) as Promise<ApiResponse<any>>;
  115. }
  116. /**
  117. * 取消收藏题目
  118. */
  119. export function cancelCollectQuestion(questionId: number) {
  120. return flyio.post('/front/questions/cancelCollect', null, { params: { questionId } }) as Promise<ApiResponse<any>>;
  121. }
  122. /**
  123. * 获取知识点学习记录
  124. * @param params
  125. * @returns
  126. */
  127. export function getKnowledgeRecord() {
  128. return flyio.get('/front/student/record/knowledge') as Promise<ApiResponseList<KnowledgeRecord>>;
  129. }
  130. /**
  131. * 获取模拟考试记录
  132. * @param params
  133. * @returns
  134. */
  135. export function getSimulatedRecord() {
  136. return flyio.get('/front/student/record/simulated') as Promise<ApiResponse<SimulatedRecord[]>>;
  137. }
  138. /**
  139. * 获取计划学习记录
  140. * @param params
  141. * @returns
  142. */
  143. export function getPlanStudyRecord(params: { year: number, month: number }) {
  144. return flyio.get('/front/student/record/planStudy', params) as Promise<ApiResponse<PracticeRecord>>;
  145. }
  146. /**
  147. * 获取视频学习记录
  148. * @param params
  149. * @returns
  150. */
  151. export function getVideoStudyRecord() {
  152. return flyio.get('/front/student/record/video') as Promise<ApiResponse<VideoStudyRecord>>;
  153. }
  154. /**
  155. * 获取模拟考试科目
  156. * @param params
  157. * @returns
  158. */
  159. export function getSimulationExamSubjects() {
  160. return flyio.get('/front/exam/subjects') as Promise<ApiResponse<SimulationExamSubject[]>>;
  161. }
  162. /**
  163. * 开始考试
  164. * @param paperId
  165. * @returns
  166. */
  167. export function beginExaminee(examineeId: number) {
  168. return flyio.get('/front/exam/beginExaminee', { examineeId }) as Promise<ApiResponse<Examinee>>;
  169. }
  170. /**
  171. * 纠错
  172. * @param params
  173. * @returns
  174. */
  175. export function correctQuestion(params: { questionid: number, remark: string }) {
  176. return flyio.post('/front/adjustWrong/correctQuestion', params) as Promise<ApiResponse<any>>;
  177. }
  178. /**
  179. * 获取计划学习记录
  180. * @param params
  181. * @returns
  182. */
  183. export function getPracticeHistory({pageNum, pageSize}: {pageNum: number, pageSize: number}) {
  184. return flyio.get('/front/student/record/practice', {
  185. pageNum,
  186. pageSize
  187. }) as Promise<ApiResponseList<PracticeHistory>>;
  188. }
  189. /**
  190. * 获取教材同步练习记录
  191. * @param params
  192. * @returns
  193. */
  194. export function getTextbooksPracticeHistory() {
  195. return flyio.get('/front/student/record/coursePractice', {}) as Promise<ApiResponseList<PracticeHistory>>;
  196. }