13.9 **主页信息

获取主页的右下角的错题信息:
使用远程前端,需要的app.py前面加上下面两行代码:
from flask_cors import CORS
CORS(app, resources={r"/*": {"origins": "https://www.codessp.cn"}})

首先修改前段的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