Skip to content

弹题结算

GET /api/app/course/{courseId}/task/{taskId}/marker/{markerId}/settlement

返回弹题当前轮的结算结果。聚合口径为当前 marker_session.recordId 对应的一轮作答。

位置参数

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

响应

字段类型说明
totalScorenumber总分(题数 × 单题满分)
scorenumber当前轮得分
rightCountnumber正确题数
wrongCountnumber错误题数
noAnswerCountnumber超时/未答题数
partRightCountnumber部分正确题数
accuracyRatenumber正确率(0~100)
ranknumber / null我的排名
beatPercentnumber / null击败百分比;无排名或学员数小于等于 1 时为 null
totalElapsedMsnumber当前轮总耗时(毫秒)
questionsarray逐题摘要列表,按题目 seq 升序
questions[].idnumber题目 ID
questions[].typestring题型
questions[].scorenumber / null本题得分
questions[].resultstringright / wrong / partRight / noAnswer

响应示例

json
{
  "totalScore": 5000,
  "score": 3200,
  "rightCount": 3,
  "wrongCount": 1,
  "noAnswerCount": 1,
  "partRightCount": 0,
  "accuracyRate": 60,
  "rank": 8,
  "beatPercent": 75,
  "totalElapsedMs": 8500,
  "questions": [
    {
      "id": 501,
      "type": "single_choice",
      "score": 1000,
      "result": "right"
    },
    {
      "id": 502,
      "type": "fill",
      "score": 0,
      "result": "noAnswer"
    }
  ]
}

异常

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