import { ApiResponse, ApiResponseList } from "@/types"; import flyio from "../flyio"; import { Batch, ClassKnowledgeRecord, DirectedSchool, Examinee, ExamPaper, ExamPaperSubmit, GetExamPaperRequestDTO, Knowledge, KnowledgeListRequestDTO, KnowledgeRecord, OpenExamineeRequestDTO, PaperWork, PaperWorkRecord, PaperWorkRecordDetail, PaperWorkRecordQuery, PracticeHistory, PracticeRecord, SimulatedRecord, SimulationExamSubject, SimulationTestInfo, StudentExamRecord, StudentPlanStudyRecord, StudentVideoRecord, StudyPlan, Subject, SubjectListRequestDTO, TeachClass, VHSPaper, VHSPaperListRequestDTO, VideoStudy } from "@/types/study"; import { EnumPaperWorkState } from "@/common/enum"; /** * 获取学习计划 * @param params * @returns */ export function getStudyPlan() { return flyio.get('/front/student/plan') as Promise>; } /** * 保存学习计划 * @param params * @returns */ export function saveStudyPlan(params: StudyPlan) { return flyio.post('/front/student/plan', params) as Promise>; } /** * 获取学习计划统计 * @param params * @returns */ export function getStudyPlanStats(params: any) { return flyio.get('/front/student/plan/stats', params) as Promise>; } /** * 获取定向学校列表 * @param params * @returns */ export function getDirectedSchool() { return flyio.get('/front/student/directed/school') as Promise>; } /** * 保存定向学校 * @param params * @returns */ export function saveDirectedSchool(params: DirectedSchool[]) { return flyio.post('/front/student/directed/school', params) as Promise>; } /** * 获取科目列表 * @param params * @returns */ export function getSubjectList(params: SubjectListRequestDTO) { return flyio.get('/front/paper/subject', params) as Promise>; } /** * 获取科目下的知识点 * @param params * @returns */ export function getKnowledgeList(params: KnowledgeListRequestDTO) { return flyio.get('/front/paper/knowledge', params) as Promise>; } /** * 获取教材同步知识点 * @param params * @returns */ export function getTextbooksKnowledgeList() { return flyio.get('/front/paper/courseKnowledge', {}) as Promise>; } /** * 开卷 * @param params * @returns */ export function getOpenExaminee(params: OpenExamineeRequestDTO) { return flyio.post('/front/exam/openExaminee', null, { params }, { headers: { 'Content-Type': 'application/www-form-urlencoded' } }) as Promise>; } /** * 获取试卷 * @param params * @returns */ export function getPaper(params: GetExamPaperRequestDTO) { return flyio.get('/front/paper/paper', params) as Promise>; } /** * 提交试卷 * @param params * @returns */ export function commitExamineePaper(params: ExamPaperSubmit) { return flyio.post('/front/exam/commitExamineePaper', params) as Promise>; } /** * 获取试卷结果 */ export function getExamineeResult(examineeId: number) { return flyio.get('/front/exam/loadExaminee', { examineeId }) as Promise>; } /** * 对口升学-获取真题&模拟试卷 * @param params * @returns */ export function getVHSPaperList(params: VHSPaperListRequestDTO) { return flyio.get('/front/paper/list', params) as Promise>; } /** * 获取模拟考试信息 * @param params * @returns */ export function getSimulationInfo() { return flyio.get('/front/student/simulated/info') as Promise>; } /** * 收藏题目 */ export function collectQuestion(questionId: number) { return flyio.post('/front/questions/collect', null, { params: { questionId } }) as Promise>; } /** * 取消收藏题目 */ export function cancelCollectQuestion(questionId: number) { return flyio.post('/front/questions/cancelCollect', null, { params: { questionId } }) as Promise>; } /** * 获取知识点学习记录 * @param params * @returns */ export function getKnowledgeRecord() { return flyio.get('/front/student/record/knowledge') as Promise>; } /** * 获取模拟考试记录 * @param params * @returns */ export function getSimulatedRecord() { return flyio.get('/front/student/record/simulated') as Promise>; } /** * 获取计划学习记录 * @param params * @returns */ export function getPlanStudyRecord(params: { year: number, month: number }) { return flyio.get('/front/student/record/planStudy', params) as Promise>; } /** * 获取视频学习记录 * @param params * @returns */ export function getVideoStudyRecord() { return flyio.get('/front/student/record/video') as Promise>; } /** * 获取模拟考试科目 * @param params * @returns */ export function getSimulationExamSubjects() { return flyio.get('/front/exam/subjects') as Promise>; } /** * 开始考试 * @param paperId * @returns */ export function beginExaminee(examineeId: number) { return flyio.get('/front/exam/beginExaminee', { examineeId }) as Promise>; } /** * 纠错 * @param params * @returns */ export function correctQuestion(params: { questionid: number, remark: string }) { return flyio.post('/front/adjustWrong/correctQuestion', params) as Promise>; } /** * 获取计划学习记录 * @param params * @returns */ export function getPracticeHistory({pageNum, pageSize}: {pageNum: number, pageSize: number}) { return flyio.get('/front/student/record/practice', { pageNum, pageSize }) as Promise>; } /** * 获取教材同步练习记录 * @param params * @returns */ export function getTextbooksPracticeHistory() { return flyio.get('/front/student/record/coursePractice', {}) as Promise>; } export function getPaperWorkList(parmas: {state?: EnumPaperWorkState}) { return flyio.get('/front/student/record/test', parmas) as Promise>; } export function getPaperWorkDetail(id: number) { return flyio.get(`/front/student/record/test/${id}`) as Promise>; } export function getPaperWorkStatistic() { return flyio.get('/front/student/paperStats', {}) as Promise[]>>; } // 老师端 API /** * 获取教学班级列表 */ export function getTeachClassList(params: any) { return flyio.get('/front/teacher/classes', params) as Promise>; } export function getClassKnowledgeRecord(params: any) { return flyio.get('/front/teacher/record/knowledge', params) as Promise>; } export function getStudentKnowledgeRecord(params: any) { return flyio.get(`/front/teacher/record/knowledge/${params.recordId}`, params) as Promise>; } export function getClassPlanStudyRecord(params: any) { return flyio.get('/front/teacher/record/planStudy', params) as Promise>; } export function getStudentPracticeRecord(params: any) { return flyio.get(`/front/teacher/record/planStudy/${params.recordId}`, params) as Promise>; } export function getClassVideoStudyRecord(params: any) { return flyio.get('/front/teacher/record/video', params) as Promise>; } export function getStudentVideoStudyRecord(params: any) { return flyio.get(`/front/teacher/record/video/${params.recordId}`, params) as Promise>; } export function getClassExamRecord(params: any) { return flyio.get('/front/teacher/record/simulated', params) as Promise>; } export function getStudentExamRecord(params: any) { return flyio.get(`/front/teacher/record/simulated/${params.classId}`, params) as Promise>; } export function getStudentExamSubjectRecord(params: any) { return flyio.get(`/front/teacher/record/simulated/subject/${params.studentId}`, params) as Promise>; } export function getStudentExamSubjectDetail(params: any) { return flyio.get('/front/teacher/record/simulated/knowledge', params) as Promise>; } export function getBatchList(params: any) { return flyio.get('/front/teacher/batchs', params) as Promise>; } /** * 获取教师科目列表 * @param params * @returns */ export function getTeacherSubjectList(params: any) { return flyio.get('/front/teacher/subjects', params) as Promise>; } export function getTeacherTestRecord(params: any) { return flyio.get('/front/teacher/record/test', params) as Promise>; } export function getTeacherTestRecordDetail(params: any) { return flyio.get('/front/teacher/record/test/detail', params) as Promise>; } export function getTeacherTestRecordCondition(params: any) { return flyio.get('/front/teacher/record/test/cond', params) as Promise>; }