根据试卷查询选择试题列表,查询的范围为单选试题、多选试题、问答试题。用于模拟考试和每日答题场景下数据查询,模拟考试、每日答题和随机练习的区别在于,模拟考试和每日答题只会返回试题选项,随机练习会返回试题答案等多个字段。模拟考试和每日答题,需要用户作答然后提交,两则之间的区别在于每日只能做一次,模拟考试可以无限次数的作答。
模式试题列表
调用该接口前需要调用试卷检测接口,判断该套试卷是否付费,用户是否激活等情况,只有满足检查接口,才可以调用该接口。如果没有调用,该接口依然会检测。
请求方法:GET
是否鉴权:是
请求编码:Content-Type:application/x-www-form-urlencoded
响应编码:Content-Type:application/json;charset=UTF-8
请求地址:index/exam/simulateExamList
请求参数:
参数名 | 参数类型 | 是否必填 | 参数说明 | 示例值 |
---|---|---|---|---|
collection_uid | string | 是 | 试卷id | 1 |
type | int | 是 | 答题模式2模拟考试3每日答题 | 2 |
- 成功示例:
{
"data": {
"examList": [
{
"uid": "2b94068543",
"title": "Redis默认端口是多少?",
"option": [
{
"check": "A",
"title": "<p style=\"line-height: 2em;\">3306</p>",
"is_check": 2,
"image_url": "",
"video_url": "",
"is_select": 2
},
],
"second_title": "",
"type": 1,
"origin_type": 1,
"is_select": 2,
}
],
"history_uid": "5c1c949bc7"
},
"code": 100,
"msg": "请求成功"
}
参数名 | 参数类型 | 是否必有 | 参数说明 | 示例值 |
---|---|---|---|---|
uid | String | 是 | 试题id | f1f15b624e |
title | String | 是 | 题干名称 | 学科知识 |
option.check | string | 是 | 选项标识 | A |
option.title | string | 是 | 选项内容(富文本格式) | |
option.is_check | int | 是 | 是否是答案 | |
option.is_select | int | 是 | 是否被选中 | |
option.image_url | string | 否 | 选项中的图片 | |
option.video_url | string | 否 | 选中中的视频 | |
second_title | string | 否 | 二级标题(富文本格式) | |
type | int | 是 | 试题类型 | |
origin_type | init | 是 | 试题原始类型 | |
is_select | int | 是 | 是否已经选择 | |
history_uid | string | 是 | 组卷记录id |
特别说明
history_uid:组卷记录id,用户每一次拉取模拟考试或者每日练习,都会将获取到试题存储起来,在提交时会根据存储的试题做对比。如果提交时的试题id在记录中不存在,则会自动剔除。该字段就是用来区分每一次答题记录的唯一标识。在提交作答时,需要将该字段传给后端,具体的逻辑请查看模拟考试提交接口。
type和origin_type: origin_type标识试题选项的最初类型,存在这几种情况(1单选题2多选题3判断题4填空题5问答题),type字段是根据origin_type字段进行处理过的返回值,会将origin_type为3的情况,将type强行改为1。这是因为前端在处理判断题和单选题时,有时候不好处理这两种类型的显示,特此进行处理。前端可以根据实际情况做处理。
is_select: 该字段用于判断该试题是否作答,在后续增加了继续作答的功能,如果用户在之前选择过该试题,重新调用该接口,该接口会返回该试题之前的选中状态。1表示选择2表示未选中。
option.is_select: 该字段的作用和is_select的作用一样。
option.is_check: 该字段是否答案,1答案2非答案。目前为保留字段,永远返回的是2。
失败示例:
{
"code": 101,
"data": [],
"msg": "请先激活该套试卷"
}