Skip to content

答题器 API

课堂答题功能(老师发题/学生提交/统计查询)。

API 参考

getQuizStat()

查询答题统计(老师端,关闭答题后调用)。

参数类型说明
questionIdstring题目 ID

返回值: Promise<TResult<QuizStat>>


startQuiz()

发起答题(老师端)。所有学生收到 TEvent.QUESTION_BEGIN 事件并进入答题状态。

状态由 state.quizStatus$ / state.currentQuizId$ 反映;学生端通过 submitAnswer() 提交。

参数类型说明
paramStartQuizParam答题参数(题目 ID、类型、选项数量、答题时长等)

返回值: Promise<TResult<void>>

示例:

ts
await classroom.startQuiz({
  questionId: `q_${Date.now()}`, // 业务自定义题目 ID / business-defined ID
  type: 1,                       // 题型(业务约定)/ question type (business-defined)
  optionNumber: 4,               // ABCD 四选项 / four options
  duration: 60,                  // 60 秒答题 / 60s timer
});

stopQuiz()

关闭答题(老师端),关闭后可调用 getQuizStat() 查看统计。

参数类型说明
questionIdstring要关闭的题目 ID

返回值: Promise<TResult<void>>

示例:

ts
await classroom.stopQuiz('q_001');
const stat = await classroom.getQuizStat('q_001');
if (stat.ok) renderQuizResult(stat.data);

submitAnswer()

提交答案(学生端)。

参数类型说明
questionIdstring题目 ID(来自 TEvent.QUESTION_BEGIN payload)
answerstring答案内容(选择题:选项 ID 如 'A''AB';主观题:自由文本)

返回值: Promise<TResult<void>>

示例:

ts
classroom.on(TEvent.QUESTION_BEGIN, async ({ questionId }) => {
  const userChoice = await getUserAnswer();
  await classroom.submitAnswer(questionId, userChoice); // 例如 'A'
});