Skip to content

开始答题

POST /api/app/course/{courseId}/task/{taskId}/marker/{markerId}/start

开始弹题答题。当前轮已完成时再次调用会新开一轮;当前轮未完成时复用同一轮。

位置参数

参数类型必填说明
courseIdnumber课程 ID
taskIdnumber任务 ID
markerIdnumber弹题 ID

响应

字段类型说明
idnumber弹题 ID
secondnumber弹题触发秒数
resumeQuizIdnumber / null当前轮按 seq 首个未完成题目的 ID;全部完成时为 null
resumeQuizRemainingTimenumber / nullresumeQuizId 对应题目的剩余作答时间(秒);无待答题时为 null
clientUuidstring当前答题窗口租约;后续 finish 必须回传
quizzesarray题目列表,按 seq 升序
quizzes[].idnumber题目 ID
quizzes[].typestring题型:single_choice / choice / uncertain_choice / determine / fill
quizzes[].stemstring题干(展示用 HTML);填空题为去除了填空内容后的 [[]] 占位符
quizzes[].optionsarray / null选项;非选择题为 null,格式为 [{key, label}]
quizzes[].questionTimeLimitnumber单题限时(秒)
quizzes[].scorenumber单题满分
quizzes[].isFinishedboolean当前轮该题是否已完成

响应示例

json
{
  "id": 201,
  "second": 126,
  "resumeQuizId": 501,
  "resumeQuizRemainingTime": 18,
  "clientUuid": "4bcaad66-f327-4f57-94c4-12f9a8bdbef7",
  "quizzes": [
    {
      "id": 501,
      "type": "single_choice",
      "stem": "<p>题干</p>",
      "options": [
        { "key": "A", "label": "选项 A" },
        { "key": "B", "label": "选项 B" }
      ],
      "questionTimeLimit": 20,
      "score": 1000,
      "isFinished": false
    }
  ]
}

异常

错误码HTTP说明
COURSE_VIDEO_MARKER_TASK_MISMATCH400任务与弹题不匹配
COURSE_VIDEO_MARKER_NOT_FOUND404弹题不存在