Skip to content

考试相关

本章节专注于描述考试和练习相关的API,专为管理员和子管理员设计,用于维护和管理考试及练习内容。

提示消息

部分接口已实现缓存处理,可不限次数请求,默认空闲两小时失效。

question/get | exam/get

题库

题库列表:questionBank/listpage

请求参数类型描述必填
idInteger主键
nameString (16)名称
curPageInteger当前第几页
pageSizeInteger每页多少条
响应参数类型描述
codeInteger响应码
msgString响应消息
data.totalInteger总行数
data.list[]Object[]分页列表
data.list[].idInteger主键
data.list[].nameString名称
data.list[].createUserNameString创建用户
data.list[].objectiveNumString客观题数量
data.list[].subjectiveNumInteger主观题数量
data.list[].singleNumInteger单选题数量
data.list[].multipleNumInteger多选题数量
data.list[].fillBlankSubNumInteger主观填空题数量
data.list[].fillBlankObjNumInteger客观填空题数量
data.list[].judgeNumInteger判断题数量
data.list[].qaSubNumInteger主观问答题数量
data.list[].qaObjNumInteger客观问答题数量
data.list[].questionNumInteger试题数量
data.list[].updateTimeDate更新时间

题库添加:questionBank/add

请求参数类型描述必填
nameString (16)名称
响应参数类型描述
codeInteger响应码
msgString响应消息
dataInteger题库ID

题库修改:questionBank/edit

请求参数类型描述必填
idInteger主键
nameString (16)名称

题库删除:questionBank/del

请求参数类型描述必填
idInteger主键

题库详情:questionBank/get

请求参数类型描述必填
idInteger主键
响应参数类型描述
codeInteger响应码
msgString响应消息
data.idInteger题库id
data.nameString题库名称

题库清空:questionBank/clear

请求参数类型描述必填
idInteger主键

试题

试题列表:question/listpage

请求参数类型描述必填
questionBankIdInteger题库id
questionBankNameString题库名称
idInteger编号(主键)
titleString题干
typeInteger类型(1:单选;2:多选;3:填空;4:判断;5:问答)
scoreDouble分值
markTypeInteger阅卷类型(1:客观题;2:主观题)
exIdsString排除的试题IDS(英文逗号分割)
stateInteger状态(0:删除;1:发布;);默认查询1;参数为0则查询最近7天已删除的试题
randString随机查询 (任意字符串)
curPageInteger当前第几页
pageSizeInteger每页多少条
响应参数类型描述
codeInteger响应码
msgString响应消息
data.totalInteger总行数
data.list[]Object[]分页列表
data.list[].idInteger主键
data.list[].typeInteger类型(1:单选;2:多选;3:填空;4:判断;5:问答)
data.list[].titleString题干
data.list[].imgFileIdsInteger[]图片IDS(V5.2.0新增)
data.list[].markTypeInteger阅卷类型(1:客观题;2:主观题)
data.list[].stateInteger状态(0:删除;1:发布;)
data.list[].analysisString解析
data.list[].questionBankIdInteger题库ID
data.list[].questionBankNameInteger题库名称
data.list[].scoreDouble分值
data.list[].markOptionsInteger[]分值选项
data.list[].options[]Object[]单多选选项(type=1,2时有效)
data.list[].answers[]String[]答案(如果是填空或智能问答,会有多个答案)
data.list[].scores[]Double[]答案分值(如果是填空或智能问答,表示每空分值;如果是多选,表示漏选分值)
data.list[].updateUserNameString更新用户名称

试题添加:question/add

请求参数类型描述必填
typeInteger类型(1:单选;2:多选;3:填空;4:判断;5:问答)
titleText题干
imgFileIdsInteger[]图片(V5.2.0新增)
markTypeInteger阅卷类型(1:客观题;2:主观题)
analysisText解析
questionBankIdInteger题库ID
scoreDouble分数
markOptions[]Integer[]分数选项(1:漏选得分;2:答案无顺序;3:大小写不敏感;)
options[]String[]选项,type为1,2时有效,len <= 7
answers[]String[]答案(如果是填空或智能问答,会有多个答案)
scores[]Double[]答案分值(如果是填空或智能问答,表示每空分值;如果是多选,表示漏选分值)

试题修改:question/edit

请求参数类型描述必填
idInteger主键
typeInteger类型(修改无效)
其他字段同question/add

试题删除:question/del

请求参数类型描述必填
idsInteger[]试题IDS

试题移动:question/move(V5.3.0新增)

请求参数类型描述必填
idInteger[]主键
questionBankIdInteger题库ID

试题获取:question/get

提示消息

已实现缓存处理,可不限次数请求,默认空闲两小时失效。

请求参数类型描述必填
idInteger主键
响应参数类型描述
codeInteger响应码
msgString响应消息
data.idInteger主键
data.typeInteger类型(1:单选;2:多选;3:填空;4:判断;5:问答
data.titleText题干
data.imgFileIdsInteger[]图片IDS(V5.2.0新增)
data.options[]String[]选项,type为1,2时有效,len <= 7
data.markTypeInteger阅卷类型(1:客观题;2:主观题)
data.analysisText解析
data.questionBankIdInteger题库ID
data.scoreDouble分数
data.markOptions[]Integer[]分数选项(1:漏选得分;2:答案无顺序;3:大小写不敏感;)
data.answers[]String[]答案(如果是填空或智能问答,会有多个答案)
data.scores[]Double[]答案分值(如果是填空或智能问答,表示每空分值;如果是多选,表示漏选分值)
data.stateInteger状态(0:删除;1:发布;)

试题复制:question/copy

请求参数类型描述必填
idInteger主键

考试

考试列表:exam/listpage

请求参数类型描述必填
nameString (16)名称
genTypeInteger组卷方式(1:人工组卷;2:随机组卷)
loginTypeInteger登录方式(1:正常登录;2:免登录;)
markStateInteger阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;)
markTypeInteger阅卷方式(1:客观题;2:主观题;)
isLimitInteger是否限时考试(0:不限时;1:限时)
stateInteger考试状态(1:发布;2:暂停)
curPageInteger当前第几页
pageSizeInteger每页多少条
响应参数类型描述
codeInteger响应码
msgString响应消息
data.totalInteger总行数
data.list[]Object[]分页列表
data.list[].idInteger主键
data.list[].nameString名称
data.list[].startTimeDate开始时间
data.list[].endTimeDate结束时间
data.list[].markStartTimeDate阅卷开始时间
data.list[].markEndTimeDate阅卷结束时间
data.list[].passScoreDouble及格分数
data.list[].totalScoreDouble总分数
data.list[].stateInteger考试状态
data.list[].markStateInteger阅卷方式(1:客观题;2:主观题;)
data.list[].scoreStateInteger成绩查询状态(1:考试结束后;2:不公布;3:交卷后)
data.list[].rankStateInteger排名状态(1:公布;2:不公布)
data.list[].genTypeInteger组卷方式(1:人工组卷;2:随机组卷)
data.list[].markTypeInteger阅卷方式(1:客观题;2:主观题;)
data.list[].sxesInteger[]防作弊(1:试题乱序;2:选项乱序;)
data.list[].anonStateInteger[]匿名阅卷(1:是;2:否)
data.list[].limitMinuteInteger限制时长(分钟)
data.list[].userNumInteger用户数量
data.list[].markUserNumInteger阅卷用户数量

考试发布:exam/publish

  • 请求数据格式为json,请设置HTTP请求头:{ Content-Type: application/json }
json
{
    "id": null, // 考试ID(修改时用)
    "name": "考试-2023-04-01",// 考试名称
    "loginType": 1,// 登录方式(1:正常登录;2:免登录;)
    "paperName": "试卷-2023-04-01",// 试卷试卷名称
    "genType": 1, // 组卷方式(1:人工组卷;2:随机组卷)
    "passScore": 14,// 及格分数
    "sxes": [2, 1],// genType == 1有效
    "scoreState": 3,// 成绩查询状态(1:考试结束后;2:不公布;3:交卷后)
    "rankState": 1,// 排名状态(1:公布;2:不公布)
    "examQuestions": [{// genType == 1有效(固定组卷)
        "type": 1,// 类型 (1:章节;2:试题)
        "chapterName": "单选题",// 章节名称
        "chapterTxt": ""// 章节描述(非必填)
    }, {
        "type": 2,// 类型 (1:章节;2:试题) 试题数据格式参考question/add接口
        "questionType": 1,// 试题类型(1:单选;2:多选;3:填空;4:判断;5:问答)
        "markType": 1,//  阅卷类型(1:客观题;2:主观题)
        "title": "这是一道单选题的题干,简单写法",// 题干
        "imgFileIds": [21994],// 图片(V5.2.0新增)
        "score": 1,// 分数
        "answers": ["B"],// 答案
        "scores": [],// 分数(非必填,默认为1分)
        "options": ["单选题的A选项", "单选题的B选项", "单选题的C选项", "单选题的D选项"],// 选项
    },],
    "examRules": [{// genType == 1有效(随机组卷)
        "type": 1,// 类型 (1:章节;2:试题)
        "chapterName": "单选题",// 章节名称
        "chapterTxt": ""// 章节描述
    }, {
        "type": 2,// 类型 (1:章节;2:试题)
        "questionBankId": 5,// 题库ID
        "questionType": 1,// 试题类型(1:单选;2:多选;3:填空;4:判断;5:问答)
        "markType": 1,//  阅卷类型(1:客观题;2:主观题),1有效
        "markOptions": [],//  阅卷选项(2:答案无顺序;3:不分大小写;) questionType == 3,23有效;questionType == 5,3有效
        "num": 10,// 题数
        "score": 1,// 分数
        "scores": []// questionType == 2有效,漏选分数
    }],
    "userIds": [1229, 1228, 1193, 1201, 1209],// 用户IDS
    "orgIds": [3, 69],// 机构IDS
    "makrUser": [3, 69],// 阅卷用户IDS
    "totalScore": 24,// 总分
    "markType": 2,// 阅卷类型(1:客观题;2:主观题)
    "startTime": "2023-04-01 08:00:00",// 考试开始时间
    "endTime": "2023-04-01 10:00:00",// 考试结束时间
    "markStartTime": "2023-04-01 14:00:00",// 阅卷开始时间
    "markEndTime": "2023-04-01 18:00:00",// 阅卷结束时间
    "limitMinute": 60 // 限制分钟(考试开始时间由用户第一次打开试卷时计时))
}
响应参数类型描述
codeInteger响应码
msgString响应消息
dataString进度条ID。建议每隔1秒请求一次,获取进度参考:progressBar/get

考试试卷:exam/paper

请求参数类型描述
idInteger主键
响应参数类型描述
codeInteger响应码
msgString响应消息
data.idInteger主键
data.nameString考试名称
data.paperNameString试卷名称
data.markTypeInteger阅卷类型
data.startTimeDate考试开始时间
data.endTimeDate考试结束时间
data.markStartTimeDate阅卷开始时间
data.markEndTimeDate阅卷结束时间
data.genTypeInteger组卷方式(1:人工组卷;2:随机组卷)
data.showTypeInteger展示方式(1:整卷展示;3:单题展示;)暂无用
data.loginTypeInteger登录方式(1:正常登录;2:免登录;)
data.passScoreInteger及格分数
data.anonStateInteger匿名阅卷状态(1:是;2:否)
data.scoreStateInteger成绩查询状态(1:考试结束后;2:不公布;3:交卷后)
data.rankStateInteger排名状态(1:公布;2:不公布)
data.sxesInteger[]防作弊(1:试题乱序;2:选项乱序;)
data.examQuestionsObject[]参考 exam/publish 接口
data.examRulesObject[]参考 exam/publish 接口
data.examUserIdsInteger[]考试用户IDS
data.limitMinuteInteger限制分钟(考试开始时间由用户第一次打开试卷时计时,如果为0表示考试时间内不限时)

考试用户:exam/user(V5.3.0新增)

请求参数类型描述
idInteger主键
响应参数类型描述
codeInteger响应码
msgString响应消息
data[].userIdInteger考试用户ID
data[].answerStateInteger及格状态

考试删除:exam/del

请求参数类型描述必填
idInteger主键

考试获取:exam/get

请求参数类型描述
idInteger主键
响应参数类型描述
codeInteger响应码
msgString响应消息
data.idInteger主键
data.nameString考试名称
data.paperNameString试卷名称
data.startTimeDate考试开始时间
data.endTimeDate考试结束时间
data.markStartTimeDate阅卷开始时间
data.markEndTimeDate阅卷结束时间
data.markStateInteger阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;)
data.scoreStateInteger成绩查询状态(1:考试结束后;2:不公布;3:交卷后)
data.rankStateInteger排名状态(1:公布;2:不公布)
data.anonStateInteger匿名阅卷状态(1:是;2:否)
data.passScoreDouble及格分数
data.totalScoreDouble总分数
data.markTypeInteger阅卷方式(1:客观题;2:主观题;)
data.loginTypeInteger登录方式(1:正常登录;2:免登录;)
data.genTypeInteger组卷方式(1:人工组卷;2:随机组卷)
data.sxesInteger[]防作弊(1:试题乱序;2:选项乱序;)
data.stateInteger状态(0:删除;1:发布;)
data.userNumInteger考试人数
data.limitMinuteInteger限制时长(分钟)

考试获取:exam/examGet(V5.2.0新增)

请求参数类型描述
nameString用于免登录考试
响应参数类型描述
codeInteger响应码
msgString响应消息
data.idInteger主键
data.nameString考试名称
data.loginTypeInteger登录方式(1:正常登录;2:免登录;)
data.startTimeDate开始时间
data.endTimeDate结束时间

考试变更时间:exam/time

请求参数类型描述必填
idInteger主键
timeTypeInteger状态 【1:考试开始时间;2:考试结束时间;3:阅卷开始时间;4:阅卷结束时间】
minuteInteger分钟数(提前用负数、延后用整数)

考试暂停:exam/pause

请求参数类型描述必填
idInteger主键,如果正常则变更为冻结;如果冻结则变更为正常

考试用户添加:exam/userAdd(V5.2.0新增)

请求参数类型描述必填
idInteger主键
orgIdsInteger[]机构IDS
userIdsInteger[]用户IDS

考试成绩状态:exam/score

请求参数类型描述必填
idInteger主键,如果正常则变更为冻结;如果冻结则变更为正常
scoreStateInteger成绩状态(1:考试结束后;2:不公布;3:交卷后)

考试排名状态:exam/rank

请求参数类型描述必填
idInteger主键,如果正常则变更为冻结;如果冻结则变更为正常
rankStateInteger排名状态(1:公布;2:不公布)

考试阅卷协助:exam/assist

请求参数类型描述必填
idInteger主键
markUserIdsInteger[]阅卷用户IDS,角色为阅卷用户

考试阅卷用户列表:exam/markUserList

请求参数类型描述必填
idInteger主键
响应参数类型描述
codeInteger响应码
msgString响应消息
data[]Object[]任意数组
data[].idInteger考试名称
data[].nameString试卷名称

练习(V5.4.0重新实现)

提示消息

管理员可以看所有练习;子管理员可以看自己创建的练习,考试用户可以看(管理或子管理)分配给自己的;阅卷用户无权限;

练习列表:exer/listpage

请求参数类型描述必填
nameString (16)名称
questionBankIdInteger题库ID
stateInteger状态(1:发布;2:暂停)
curPageInteger当前第几页
pageSizeInteger每页多少条
响应参数类型描述
codeInteger响应码
msgString响应消息
data.totalInteger总行数
data.list[]Object[]分页列表
data.list[].idInteger主键
data.list[].nameString名称
data.list[].userIdsInteger[]练习用户IDS(管理员和子管理员查询有效)
data.list[].orgIdsInteger[]练习机构IDS(管理员和子管理员查询有效)
data.list[].stateInteger状态(1:发布;2:暂停)
data.list[].updateTimeDate更新时间
data.list[].createUserNameString创建用户名称
data.list[].questionBankIdInteger题库ID(用于创建练习选择题库的时候,已存在的不可选)
data.list[].questionBankNameString题库名称

练习添加:exer/add

请求参数类型描述必填
nameString练习名称
questionBankIdInteger题库ID
orgIdsInteger[]练习机构IDS
userIdsInteger[]练习用户IDS

练习添加:exer/edit

请求参数类型描述必填
idInteger练习ID
nameString练习名称
questionBankIdInteger题库ID
orgIdsInteger[]练习机构IDS
userIdsInteger[]练习用户IDS

练习列表:exer/get

请求参数类型描述必填
idInteger主键
响应参数类型描述
codeInteger响应码
msgString响应消息
data.idInteger总行数
data.nameObject[]分页列表
data.questionBankIdInteger题库ID
data.questionBankNameString题库名称
data.orgIdsInteger[]机构IDS
data.userIdsInteger[]用户IDS
data.stateInteger状态(1:发布;2:暂停)

练习列表:exer/state

请求参数类型描述必填
idInteger主键,如果发布则变为暂停,如果暂停则变为发布。
响应参数类型描述
codeInteger响应码
msgString响应消息

小猫考试