我的相关
本章节专注于描述与我相关的API,专为考试用户和阅卷用户设计。考试用户可以通过API进行考试和练习,而阅卷用户则可以阅卷。
我的考试
我的考试列表:myExam/listpage
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examName | String (32) | 考试名称 | 否 |
| startTime | Date | 考试开始时间 | 否 |
| endTime | Date | 考试结束时间 | 否 |
| todo | Boolean | 未完成的考试(true有效) | 否 |
| curPage | Integer | 当前第几页 | 否 |
| pageSize | Integer | 每页多少条 | 否 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.total | Integer | 总行数 |
| data.list[] | arr[] | 分页列表 |
| data.list[].examId | Integer | 考试Id |
| data.list[].examName | String | 考试名称 |
| data.list[].examStartTime | Date | 考试开始时间 |
| data.list[].examEndTime | Date | 考试结束时间 |
| data.list[].examMarkStartTime | Date | 阅卷开始时间 |
| data.list[].examMarkEndTime | Date | 阅卷结束时间 |
| data.list[].examMarkState | Date | 阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;) |
| data.list[].examScoreState | Date | 成绩查询状态(1:考试结束后;2:不公布;3:交卷后) |
| data.list[].examRankState | Date | 排名状态(1:公布;2:不公布) |
| data.list[].examPassScore | Double | 考试及格分数 |
| data.list[].examTotalScore | Double | 考试总分 |
| data.list[].userId | Date | 考试用户ID |
| data.list[].userName | Date | 考试用户名称 |
| data.list[].answerStartTime | Date | 答题开始时间 |
| data.list[].answerEndTime | Date | 答题结束时间 |
| data.list[].totalScore | Double | 我的得分 (考试成绩不显示返回null) |
| data.list[].state | Integer | 考试状态(1:未考试;2:考试中;3:已交卷;) |
| data.list[].markState | Integer | 阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;) |
| data.list[].answerState | Integer | 答题状态(1:及格;2:不及格;)(考试成绩不显示返回null) |
| data.list[].no | Integer | 排名(考试排名不显示返回null) |
| data.list[].examLimitMinute | Integer | 限制时长(分钟) |
| data.list[].userNum | Integer | 用户数量 |
我的考试获取:myExam/get
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.answerStartTime | Date | 按题开始时间 |
| data.answerEndTime | Date | 按题结束时间 |
| data.markStartTime | Date | 阅卷开始时间 |
| data.markEndTime | Date | 阅卷结束时间 |
| data.objectiveScore | Double | 客观题分数 |
| data.totalScore | Double | 总分(成绩状态控制是否显示) |
| data.answerState | Integer | 答题状态(成绩状态控制是否显示) |
| data.state | Integer | 答题状态 |
| data.markState | Integer | 阅卷状态 |
| data.no | Integer | 排名(排名状态控制是否显示) |
| data.ver | Integer | 版本(exam.retake为最大重考次数,myExam.ver为当前第几次重考,从2开始,表示第一次重考) |
我的考试考试获取:myExam/examGet
| 请求参数 | 类型 | 描述 |
|---|---|---|
| examId | Integer | 考试ID |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.id | Integer | 主键 |
| data.name | String | 考试名称 |
| data.paperName | String | 试卷名称 |
| data.startTime | Date | 考试开始时间 |
| data.endTime | Date | 考试结束时间 |
| data.markStartTime | Date | 阅卷开始时间 |
| data.markEndTime | Date | 阅卷结束时间 |
| data.markState | Integer | 阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;) |
| data.scoreState | Integer | 成绩查询状态(1:考试结束后;2:不公布;3:交卷后) |
| data.rankState | Integer | 排名状态(1:公布;2:不公布) |
| data.anonState | Integer | 匿名阅卷状态(1:是;2:否) |
| data.passScore | Double | 及格分数 |
| data.totalScore | Double | 总分数 |
| data.markType | Integer | 阅卷方式(1:客观题;2:主观题;) |
| data.loginType | Integer | 登录方式(1:正常登录;2:临时登录;) |
| data.genType | Integer | 组卷方式(1:人工组卷;2:随机组卷) |
| data.sxes | Integer[] | 防作弊(1:试题乱序;2:选项乱序;3:禁止考试中切屏;4:禁止浏览器调试) |
| data.state | Integer | 状态(0:删除;1:发布;) |
| data.userNum | Integer | 考试人数 |
| data.limitMinute | Integer | 限制时长(分钟) |
| data.retakeNum | Integer | 重考次数(V5.5.0新增) |
我的考试试题统计:myExam/questionStatis
| 请求参数 | 类型 | 描述 |
|---|---|---|
| examId | Integer | 考试ID |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.markTypeStatis | Object | 对象 |
| data.markTypeStatis.objective | Integer | 客观题数量 |
| data.markTypeStatis.objective | Integer | 主观题数量 |
| data.typeStatis | Object[] | 对象数组 |
| data.typeStatis[].type | String | 试题类型 |
| data.typeStatis[].count | Integer | 试题数量 |
我的考试试卷:myExam/paper
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data[].type | Integer | 类型 (1:章节;2:试题) |
| data[].chapterName | String | 章节名称 (type==1有效) |
| data[].chapterTxt | String | 章节描述 (type==1有效) |
| data[].questionId | Integer | 试题ID |
| data[].questionType | Integer | 试题类型(1:单选;2:多选;3:填空;4:判断;5:问答) |
| data[].markType | Integer | 阅卷方式(1:客观题;2:主观题;) |
| data[].title | String | 题干 |
| data[].imgFileIds | Integer[] | 图片IDS(V5.2.0新增) |
| data[].videoFileId | Integer[] | 视频IDS(V5.5.0新增) |
| data[].markOptions | Integer[] | 阅卷选项(2:答案无顺序;3:不区分大小写;) |
| data[].score | Double | 试题分数 |
| data[].analysis | String | 解析 |
| data[].options | String[] | 选项(questionType == 1 || questionType == 2有效) |
| data[].userScore | Double | 用户分数 |
| data[].analysis | String | 解析 |
| data[].answers | String[] | 标准答案 |
| data[].userAnswers | String[] | 用户答案 |
| data[].answerImgFileIds | Integer[] | 用户答案图片,主观问答题有效(V5.5.0新增) |
| data[].answerVideoFileIds | Integer[] | 用户答案视频,主观问答题有效(V5.5.0新增) |
我的考试生成试卷:myExam/generatePaper
- 用于临时登录考试答题
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
我的考试答题:myExam/answer
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| questionId | Integer | 试题ID | 是 |
| answers | String[] | 答案(参考question/add) | 是 |
| imgFileIds | Integer[] | 图片IDS(V5.5.0新增,主观问答题有效) | 否 |
| videoFileIds | Integer[] | 视频IDS(V5.5.0新增,主观问答题有效) | 否 |
我的考试交卷:myExam/finish
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
我的考试作弊:myExam/sxes (V5.1.0新增)
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| type | Integer | 作弊类型(3:禁止考试中切屏;4:禁止浏览器调试) | 是 |
| content | String | 作弊内容 | 是 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data | Boolean | true:提前交卷;false:不处理 |
我的考试重考:myExam/retake (V5.5.0新增)
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
我的阅卷
我的阅卷列表:myMark/listpage
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examName | String (32) | 考试名称 | 否 |
| startTime | Date | 阅卷开始时间 | 否 |
| endTime | Date | 阅卷结束时间 | 否 |
| todo | Integer | 查找我的未完成的考试列表 | 否 |
| curPage | Integer | 当前第几页 | 否 |
| pageSize | Integer | 每页多少条 | 否 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.total | Integer | 总行数 |
| data.list[] | arr[] | 分页列表 |
| data.list[].examId | Integer | 考试Id |
| data.list[].examName | String | 考试名称 |
| data.list[].examStartTime | Date | 考试开始时间 |
| data.list[].examEndTime | Date | 考试结束时间 |
| data.list[].examMarkStartTime | Date | 阅卷开始时间 |
| data.list[].examMarkEndTime | Date | 阅卷结束时间 |
| data.list[].examPassScore | Double | 及格分数 |
| data.list[].examTotalScore | Double | 考试总分 |
| data.list[].examState | Integer | 考试状态(0:删除;1:发布) |
| data.list[].examMarkState | Integer | 考试阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;) |
| data.list[].examScoreState | Integer | 成绩查询状态(1:考试结束后;2:不公布;3:交卷后) |
| data.list[].examRankState | Integer | 阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;) |
| data.list[].examGenType | Integer | 组卷方式(1:人工组卷;2:随机组卷) |
| data.list[].examMarkType | Integer | 阅卷方式(1:客观题;2:主观题;) |
| data.list[].examSxes | Integer[] | 防作弊(1:试题乱序;2:选项乱序;3:禁止考试中切屏;4:禁止浏览器调试) |
| data.list[].examAnonState | Integer | 匿名阅卷状态(1:是;2:否) |
| data.list[].examLimitMinute | Integer | 限制时长(分钟) |
| data.list[].examLoginType | Integer | 登录方式(1:正常登录;2:临时登录;) |
| data.list[].examUserNum | Integer | 考试用户数量 |
| data.list[].examMarkUserNum | Integer | 阅卷用户数量 |
我的阅卷获取:myMark/get
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| userId | Integer | 用户ID | 是 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.answerStartTime | Date | 答题开始时间 |
| data.answerEndTime | Date | 答题结束时间 |
| data.markStartTime | Date | 阅卷开始时间 |
| data.markEndTime | Date | 阅卷结束时间 |
| data.objectiveScore | Double | 客观题分数 |
| data.totalScore | Double | 总分数(客观题+主观题) |
| data.answerState | Integer | 答题状态(1:及格;2:不及格) |
| data.state | Integer | 状态(1:未考试;2:考试中;3:已交卷;) |
| data.markState | Integer | 阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;) |
| data.no | Integer | 排名 |
| data.userNum | Integer | 考试用户数量 |
我的阅卷阅卷列表:myMark/markList
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 否 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.examUserId | Integer | 考试用户ID |
| data.examUserName | String | 考试用户名称 |
| data.markUserId | Integer | 阅卷用户ID |
| data.markUserName | String | 阅卷用户名称 |
| data.myExamState | Date | 我的考试状态(1:未考试;2:考试中;3:已交卷;) |
| data.myExamMarkState | Date | 我的阅卷状态(1:未阅卷;2:阅卷中;3:已阅卷;) |
我的阅卷领取信息:myMark/claimInfo
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 否 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.paperNum | Integer | 试卷数量 |
| data.markNum | Integer | 已阅数量 |
| data.myClaimNum | Integer | 我领取的数量 |
| data.myMarkNum | Integer | 我已阅的数量 |
我的阅卷领取:myMark/claim
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| num | Integer | 分配数量 | 是 |
我的阅卷试卷:myMark/paper
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| userId | Integer | 考试用户ID | 是 |
| 响应数据 | 类型 | 描述 |
|---|---|---|
| 参考myExam/paper |
我的阅卷打分:myMark/score
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| userId | Integer | 考试用户ID | 是 |
| questionId | Integer | 试题ID | 是 |
| userScore | Double | 批分 | 是 |
| remark | String(48) | 批语(V5.5.0新增) | 否 |
我的阅卷阅卷:myMark/finish
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
| userId | Integer | 考试用户ID | 是 |
我的阅卷试题统计:myMark/questionStatis
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| examId | Integer | 考试ID | 是 |
参考myExam/questionStatis
我的练习
我的练习列表:myExer/listpage
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| curPage | Integer | 当前第几页 | 否 |
| pageSize | Integer | 每页多少条 | 否 |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.total | Integer | 总行数 |
| data.list[] | Object[] | 分页列表 |
| data.list[].id | Integer | 主键 |
| data.list[].name | String | 名称 |
| data.list[].questionNum | Integer | 试题数量 |
| data.list[].answerNum | Integer | 答题数量 |
| data.list[].correctAnswerNum | Integer | 答对数量 |
我的练习添加:myExer/add
- 抽题试题优先规则:
- 从题库未抽到的试题抽取
- 题数不足,从未练习的试题抽取(练习A练习了试题A,练习B没练习试题A,实际算已练习)
- 题数不足,从已练习的试题抽取(不等于整个题库试题,排除了前两项)
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| name | String | 名称 | 是 |
| exerId | Integer | 练习ID | 是 |
| type | Integer | 类型(1:自组;2:未练;3:错题;4:收藏) | 是 |
| singleNum | Integer | 单选题数量 | 是 |
| multipleNum | Integer | 多选题数量 | 是 |
| fillBlankNum | Integer | 填空题数量 | 是 |
| judgeNum | Integer | 判断题数量 | 是 |
| qaNum | Integer | 问答题数量 | 是 |
我的练习获取:myExer/get
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID | 是 |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.free[] | Object[] | 自组数组 |
| data.free[].type | String | 试题类型 |
| data.free[].count | Integer | 试题数量 |
| data.unExer[] | Object[] | 未练数组 |
| data.unExer[].type | String | 试题类型 |
| data.unExer[].count | Integer | 试题数量 |
| data.wrong[] | Object[] | 错题数组 |
| data.wrong[].type | String | 试题类型 |
| data.wrong[].count | Integer | 试题数量 |
| data.fav[] | Object[] | 收藏数组 |
| data.fav[].type | String | 试题类型 |
| data.fav[].count | Integer | 试题数量 |
我的练习拉取:myExer/pull(V5.6.0废弃)
我的练习生成:myExer/generate(V5.6.0废弃)
- 改为myExer/questionList
我的练习试题:myExer/questionList
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| id | Integer | 主键 | 是 |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data[] | Object[] | 任意数组 |
| data[].questionId | Integer | 试题ID |
| data[].no | Integer | 试题排序 |
| data[].score | Double | 试题分数 |
| data[].userScore | Double | 用户分数(如果不是第一次显示,答题卡需要颜色标记分数状态,至于每道题的答案,由前端用滑动窗口的方式批量加载。见接口:myExer/question) |
我的练习试题:myExer/question
提示消息
利用滑动窗口策略(点击任何一道题,加载前后十道题),提前加载部分数据,使练习时页面切换更加顺畅
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID(V5.6.0废弃) | 是 |
| id | Integer | 主键 | 是 |
| questionId | Integer | 试题ID | 是 |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data | 参考:myExam/paper |
我的练习答题:myExer/answer
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID(V5.6.0废弃) | 是 |
| id | Integer | 主键 | 是 |
| questionId | Integer | 试题ID | 是 |
| userAnswers | String[] | 用户答案 | 是 |
| userScore | Double | 用户分数(主观题有效,需要自评) | 否 |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data | Double | 得分(客观题后台计算,主观题用户在页面自评) |
我的练习重新练习:myExer/exerReset(V5.6.0废弃)
我的练习练习获取:myExer/exerGet(V5.6.0废弃)
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID | 是 |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.id | Integer | 主键 |
| data.name | String | 名称 |
| data.questionBankId | Integer | 题库ID |
| data.questionBankName | String | 题库名称 |
| data.state | Integer | 状态(1:发布;2:暂停) |
我的练习试题统计:myExer/questionStatis(V5.6.0废弃)
我的练习试题收藏:myExer/questionFav
- 未收藏则收藏,已收藏则取消收藏
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID(V5.6.0废弃) | 是 |
| id | Integer | 主键 | 是 |
| quesitonId | Integer | 试题ID | 是 |
我的练习试题收藏列表:myExer/favQuestionList
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data[] | Integer[] | 试题IDS |
我的练习试题收藏列表:myExer/wrongQuestionList
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data[] | Object[] | 对象数组 |
| data[].questionId | Integer | 试题ID |
| data[].wrongNum | Integer | 答错次数 |
我的练习错题重置:myExer/wrongQuestionReset
- 从历史错题中逻辑移除
- 如果再次答错,数量累加
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID(V5.6.0废弃) | 是 |
| id | Integer | 主键 | 是 |
| quesitonId | Integer | 试题ID | 是 |
我的练习跟踪:myExer/track(V5.6.0新增)
- 统计用户练习时长
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID | 是 |
我的练习跟踪列表:myExer/trackList(V5.6.0新增)
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID | 是 |
| startDate | String | 开始时间(yyyy-MM-dd) | 是 |
| startDate | String | 结束时间(yyyy-MM-dd) | 是 |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.ymd | String | 年月日(yyyy-MM-dd) |
| data.minuteTicks | Integer[] | 分钟刻度(统计用户在当天的第几分钟正在练习,最小1,最大1440) |
| data.minuteCount | Integer | 分钟累计 |
我的练习跟踪月度列表:myExer/trackMonthlyList(V5.6.0新增)
| 请求参数 | 类型 | 描述 | 必填 |
|---|---|---|---|
| exerId | Integer | 练习ID | 是 |
| startYm | String | 开始时间(yyyy-MM) | 是 |
| endYm | String | 结束时间(yyyy-MM) | 是 |
| 响应参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| msg | String | 响应消息 |
| data.ym | String | 年月日(yyyy-MM) |
| data.minuteCount | Integer | 分钟累计 |
