13.8 *主页信息
获取主页的右下角的错题信息:
首先修改前段的bug,在src/views/Home.vue文件,第149行代码:
改成:
let t=response.data.data;
进入主页后,前端会自动发起一个get请求,发送参数username和courseId到main,然后后台将发回的json结构如下:
{ "code": "200", "info": "", "data": { "cqcList": [ { "chapterQuizStudyId": "41832", "score": 0, "datetime": "2025-03-01 21:52:53", "stat": "3", "teacherId": "system", "comment": "错误", "chapterQuizStudy": { "chapterQuiz": { "chapter": { "code": "010200", "parentCode": "010000", "name": "Java编程环境", "id": "187", "courseId": "1" }, "code": "", "codeLang": "java", "title": "jdk是java的运行环境,它可以解析java文件并运行", "subjectType": { "name": "判断", "id": "5" }, "content": "", "valid": "1", "score": 2, "instruments": "", "answer": "true", "chapterId": "187", "hint": "", "typeId": "5", "id": "30", "keyword": "jdk", "queue": 1 }, "studentId": "abc", "stat": "0", "answer": "false", "quizId": "30", "startTime": "2025-03-01 14:35:31", "endTime": "2025-03-01 14:36:07", "id": "41832", "user": { "role": "9", "isValid": "1", "nickname": "java", "createDate": "2020-09-16 16:44:32", "username": "abc" } }, "id": "28430", "user": { "role": "1", "isValid": "1", "nickname": "系统", "createDate": "2018-04-03", "username": "system" } }, //这些Object是其他错题,省略 Object{...}, Object{...}, Object{...}, Object{...} ], "courseName": "Java程序设计", "code": "010200", "chapterName": "1.2 Java编程环境", "courseId": "1", "percent": "0.6666666666666666" }}
data部分的cqcList,实际上查询的表格是chapterQuizCorrect,这个表表示批改表,与之紧密关联的表示chapterQuizStudy,表示学生做题表,ChapterQuiz则是练习题表,最后,ChapterQuiz关联了Chapter表这四个表数据库设置了外键关联。以下表都要生成实体类:
实体类 | 说明 |
---|---|
Chapter | 保存章节的表,章节的标题,内容 |
ChapterQuiz | 保存练习题的表,里面有一个Chapter的外键,记录题目是哪个章节的 |
ChapterQuizStudy | 学员完成一道练习题的记录,里面有一个chapterQuiz的外键,记录答题对应的练习 |
ChapterQuizCorrect | 系统批改一道学员答题的记录,里面有一个chapterQuizStudy的外键,记录本次批改对应的答题 |
SubjectType | 记录练习题类型,ChapterQuiz只记录一个数字id,id对于的文字在这个表里面 |
根据外键再去查询一次,上面的json:
要生成这个json需要多次查询,然后一个一个拼接到最终的json