专项考试

专项考试

获取我的考试列表

GET /plugins/exam/me/exams

权限

  • 需要认证用户

参数

字段 描述
status finished,unfinished

响应

成功响应pageList exam 结构体

字段 描述
id string 成员id
examId string 考试id
examName string 考试名称
examType string 考试类型(grade:评分考试,fullMark:必过考试)
testPaperScore 考试试卷分数
status string 考试状态(notStart:未开始,doing:考试中,reviewing:批阅中,finished:已完成,absent:缺考)
resultId 考试结果id
endTime 考试结束时间
score 考试得分
remainingResitTimes 剩余考试次数0表示无限制,该字段仅用来描述grade类型考试
canDoExam 是否能考试

获取考试说明

GET /plugins/exam/exams/{id}

权限

  • 不需要认证

参数

字段 描述
id 考试的id

响应

成功响应exam结构体

字段 描述
id string 考试ID
name string 考试名称
type string 考试类型(grade:评分考试,fullMark:必过考试)
status string 考试状态(draft:草稿published:已发布closed:已关闭)
endTime 考试结束时间
length string 考试时长
resitTimes string 重考次数(0表示不限次数)
score 考试试卷总分
passScore 考试通过分数
questionsCount 考试试卷题目数
remainingResitTimes 剩余考试次数(先判断是否必过考试,再看resitTimes是否为0,都不是则剩余考试次数)

开始考试

POST /plugins/exam/me/exam_results

权限

  • 需要认证

参数

字段 描述
examId 考试id

响应

成功响应结构体实例如下

    {
        "exam": {
            "name": "测试所有题型的评分试卷",
            "length": "0",
            "type": "grade",
            "remainingTime": "43"
        },
        "examInfo": {
            "single_choice": {
                "number": 1,
                "score": "2.0"
            },
            "choice": {
                "number": 1,
                "score": "2.0"
            },
            "fill": {
                "number": 1,
                "score": "50.0"
            },
            "uncertain_choice": {
                "number": 1,
                "score": "2.0"
            },
            "determine": {
                "number": 1,
                "score": "2.0"
            },
            "essay": {
                "number": 1,
                "score": "2.0"
            }
        },
        "testPaper": {
            "score": "10.0",
            "questionsCount": "5"
        },
        "examResult": {
            "id": "123",
            "beginTime": "1508117500"
        },
        "questions": [
            {
                "id": "10",
                "type": "single_choice",
                "stem": "<p>1+1的值是多少</p>\r\n",
                "score": "2.0",
                "metas": {
                    "choices": [
                        "<p>11</p>\r\n",
                        "<p>2</p>\r\n",
                        "<p>0</p>\r\n",
                        "<p>3</p>\r\n"
                    ]
                },
                "seq": "1",
                "missScore": "0.0"
            },
            {
                "id": "11",
                "type": "choice",
                "stem": "<p>下面哪俩个的值相加等于11</p>\r\n",
                "score": "2.0",
                "metas": {
                    "choices": [
                        "<p>7+4</p>\n",
                        "<p>1+1</p>\n",
                        "<p>5+6</p>\n",
                        "<p>10+1</p>\n"
                    ]
                },
                "seq": "2",
                "missScore": "0.0"
            },
            {
                "id": "12",
                "type": "essay",
                "stem": "<p>什么是世界上最好的语言</p>\r\n",
                "score": "2.0",
                "metas": [],
                "seq": "3",
                "missScore": "0.0"
            },
            {
                "id": "13",
                "type": "uncertain_choice",
                "stem": "<p>这是一道选A、B的不定项选择题</p>\r\n",
                "score": "2.0",
                "metas": {
                    "choices": [
                        "<p>A</p>\r\n",
                        "<p>B</p>\r\n",
                        "<p>C</p>\r\n",
                        "<p>D</p>\r\n"
                    ]
                },
                "seq": "4",
                "missScore": "0.0"
            },
            {
                "id": "14",
                "type": "determine",
                "stem": "<p>php是最好的语言</p>\r\n",
                "score": "2.0",
                "metas": [],
                "seq": "5",
                "missScore": "0.0"
            },
            {
                "id": "15",
                "type": "fill",
                "stem": "<p>天[[1]]空[[2]]题[[3]]</p>\r\n",
                "score": "50.0",
                "seq": "1",
                "missScore": "0.0"
            }
        ]
    }

exam字段描述

字段 描述
name 考试名称
length 考试时长限制单位秒,0表示不限时长
remainingTime 剩余考试时间(单位:秒,如果length为0不显示)
type 考试类型 fullMark必过考试,grade评分考试

testPaper字段描述

字段 描述
score 试卷总分
questionsCount 试卷题目总数

examResult字段描述

字段 描述
id 考试结果id
beginTime 进入考试的时间

questions字段描述

字段 描述
id 题目id
type 题目类型(single_choice:单选题,choice:多选题,full:填空题,uncertain_choice:不定项选择题,determine:判断题,essay:问答题)
stem 题干
score 题目分数
metas 选择题的选项
missScore 漏选分值(仅多选和不定项选择)

结束考试提交结果

PATCH /plugins/exam/me/exam_results/{examResultId}

权限

  • 需要认证

参数

字段 描述
examResultId 考试结果id

试卷答案以json格式传送(题目从上到下依次是单选题,多选题,不定项选择,判断,问答)

{
    "answers": [
        {
            "questionId": "15", 
            "answer": "0"
        }, 
        {
            "questionId": "11", 
            "answer": "0,1,3"
        }, 
        {
            "questionId": "12", 
            "answer": "0,1"
        }, 
        {
            "questionId": "13", 
            "answer": "1"
        }, 
        {
            "questionId": "14", 
            "answer": "php是最好的语言"
        },
        {
            "questionId": "15",
            "answer": ["1","2","3"]
        }
    ]
}

提交成功

字段 描述
status 提交状态

检查必过考试答案

POST /plugins/exam/me/exam_result_check

参数

字段 描述
answers 当前用户做的试卷答案
examResultId 考试结果id

试卷答案和考试的id以json格式传送(题目从上到下依次是单选题,多选题,不定项选择,判断)

{
    "answers": [
        {
            "questionId": "15", 
            "answer": "0"
        }, 
        {
            "questionId": "11", 
            "answer": "0,1,3"
        }, 
        {
            "questionId": "12", 
            "answer": "0,1"
        }, 
        {
            "questionId": "13", 
            "answer": "1"
        }, 
        {
            "questionId": "14", 
            "answer": "php是最好的语言"
        }
    ],
    "examId": "2"
}

响应

成功响应结构体实例如下

{
    "status": "wrong",
    "checkAnswers": [
        {
            "questionId": "1",
            "checkStatus": "right",
            "type": "single_choice"
        },
        {
            "questionId": "2",
            "checkStatus": "right",
            "type": "choice"
        },
        {
            "questionId": "3",
            "checkStatus": "right",
            "type": "uncertain_choice"
        },
        {
            "questionId": "4",
            "checkStatus": "wrong",
            "type": "determine"
        }
    ]
}

字段描述

字段 描述
status 全部题目正确right, 有错题wrong

answer字段描述

字段 描述
questionId 试卷题目题号
checkStatus 当前题目正确状态:正确(right),错误(wrong)
type 试卷题目类型:单选(single_choice),多选(choice),不定项(uncertain_choice),判断(determine)

查看考试结果

GET /plugins/exam/me/exam_results/{id}

权限

  • 需要认证

参数

字段 描述
id 考试结果id(examResultId)
answerStatus 答案状态(all:所有,right:正确的,wrong:错误的)

响应

成功响应examResult结构体 结构体示例如下:

{
    "examName": "测试随机试卷考试",
    "testPaperScore": "100.0",
    "score": "70.0",
    "submitTime": "0",
    "usedTime": "3600",
    "status": "reviewing",
    "canRedoExam": false,
    "questionResults": [
        {
            "id": "10",
            "type": "single_choice",
            "stem": "<p>1+1的值是多少</p>\r\n",
            "score": "2.0",
            "answer": [
                "1"
            ],
            "analysis": "",
            "metas": {
                "choices": [
                    "<p>11</p>\r\n",
                    "<p>2</p>\r\n",
                    "<p>0</p>\r\n",
                    "<p>3</p>\r\n"
                ]
            },
            "testResult": {
                "status": "right",
                "score": "2.0",
                "answer": [
                    "1"
                ],
                "teacherSay": null
            },
            "seq": "1",
            "missScore": "0.0"
        },
        {
            "id": "11",
            "type": "choice",
            "stem": "<p>下面哪俩个的值相加等于11</p>\r\n",
            "score": "2.0",
            "answer": [
                "0",
                "1",
                "3"
            ],
            "analysis": "",
            "metas": {
                "choices": [
                    "<p>7+4</p>\n",
                    "<p>1+1</p>\n",
                    "<p>5+6</p>\n",
                    "<p>10+1</p>\n"
                ]
            },
            "testResult": {
                "status": "right",
                "score": "2.0",
                "answer": [
                    "0",
                    "1",
                    "3"
                ],
                "teacherSay": null
            },
            "seq": "2",
            "missScore": "0.0"
        },
        {
            "id": "12",
            "type": "essay",
            "stem": "<p>什么是世界上最好的语言</p>\r\n",
            "score": "2.0",
            "answer": [
                "<p>php是世界上最好的语言</p>\n"
            ],
            "analysis": "",
            "metas": [],
            "testResult": {
                "status": "none",
                "score": "0.0",
                "answer": "php是最好的语言",
                "teacherSay": null
            },
            "seq": "3",
            "missScore": "0.0"
        },
        {
            "id": "13",
            "type": "uncertain_choice",
            "stem": "<p>这是一道选A、B的不定项选择题</p>\r\n",
            "score": "2.0",
            "answer": [
                "0",
                "1"
            ],
            "analysis": "",
            "metas": {
                "choices": [
                    "<p>A</p>\r\n",
                    "<p>B</p>\r\n",
                    "<p>C</p>\r\n",
                    "<p>D</p>\r\n"
                ]
            },
            "testResult": {
                "status": "partRight",
                "score": "0.0",
                "answer": [
                    "1"
                ],
                "teacherSay": null
            },
            "seq": "4",
            "missScore": "0.0"
        },
        {
            "id": "14",
            "type": "determine",
            "stem": "<p>php是最好的语言</p>\r\n",
            "score": "2.0",
            "answer": [
                "1"
            ],
            "analysis": "",
            "metas": [],
            "seq": "5",
            "missScore": "0.0"
        }
    ]
}
字段 描述
examName 考试名
testPaperScore 试卷总分
score 考试得分
submitTime 提交时间
usedTime 考试所用时间 单位秒
status finished已完成,reviewing批阅中
canRedoExam 能否重考

题目对象(questionResults)

字段 描述
id 题目id
type 题目类型(single_choice:单选题,choice:多选题,uncertain_choice:不定项选择题,determine:判断题,essay:问答题)
stem 题干
score 题目分数
answer 题目答案(选择题的答案为选项的序号,序号从0开始,判断题 0表示错误,1表示正确)
analysis 题目分析
metas 选择题的选项
missScore 漏选分值(仅多选和不定项选择)

答案对象(testResult)

字段 描述
status right(正确),wrong(错误), partRight(部分正确), noAnswer(未作答)
score 所得分数
answer 作答答案(选择题的答案为选项的序号,序号从0开始,判断题 0表示错误,1表示正确)
teacherSay 老师评语

检测题目答案是否正确

GET /plugins/exam/question_answers/{questionId}

权限

  • 需要认证
  • 需要当前考试id
  • 该接口只能用于客观题正确性的校验(单选,多选,,不定项,判断)

参数

字段 描述
questionId 题目id
examId 考试id
answer 答案

单选题实例 GET /api/plugins/exam/question_answers/10?examId=7&answer=1 (0,1,2,3代表选项序号)

多选题实例 GET /api/plugins/exam/question_answers/11?examId=7&answer=0,1,3 (0,1,2,3代表选项序号)

不定项选择题实例 GET /api/plugins/exam/question_answers/13?examId=7&answer=0,1 (0,1,2,3代表选项序号)

判断题 GET /api/plugins/exam/question_answers/14?examId=7&answer=1 (0:正确,1:错误)

响应

字段 描述
status 答案状态(right:正确,wrong:错误)
rightAnswer 正确答案

results matching ""

    No results matching ""