| 方法 | 方法描述 |
|---|---|
| VHSaaSDK.getInstance().performExamIn | 获取 快问快答列表 |
| VHSaaSDK.getInstance().setExamUserAnswerStatus | 指定快问快答的用户答题状态 |
| VHSaaSDK.getInstance().getExamUserPerformanceList | 快问快答成绩排名列表 |
| VHSaaSDK.getInstance().getExamPersonalReport | 查看个人成绩详情 |
| VHExamInternal.getExamUrl | 快问快答嵌入页 |
| 方法 | 方法描述 |
|---|---|
| imReceiveRoomMessage | 消息回调监听 |
| 方法 | 方法描述 |
|---|---|
| VHRoomEventType.PAPER_SEND | 发送答题 |
| VHRoomEventType.PAPER_SEND_RANK | 公布成绩 |
| VHRoomEventType.PAPER_AUTO_SEND_RANK | 自动公布成绩 |
| VHRoomEventType.PAPER_END | 结束答题 |
当主播正在直播,可以发布快问快答,观看用户可以进行答题
VHRoomEventType.PAPER_SEND
| VHExaminationModel 成员 | 类型 | 描述 |
|---|---|---|
| role_name | string | 角色名称 |
| send_time | string | 发送时间 |
| answer_condition | AnswerRecord | 配置信息 |
| paper_title | string | 试卷标题 |
| webinar_id | string | 活动id |
| nick_name | string | 创建人昵称 |
| type | string | 消息类型 |
| paper_id | string | 考试ID |
| send_time_stamp | number | 当前时间 |
| VHExamRank 成员 | 类型 | 描述 |
|---|---|---|
| paper_title | string | 标题名称 |
| webinar_id | string | 活动id |
| role_name | string | 公布者角色 |
| nick_name | string | 公布者昵称 |
| type | string | 消息类型 |
| paper_id | string | 快问快答id |
| answer_condition | AnswerRecord | 配置信息 |
| AnswerRecord 成员 | 类型 | 描述 |
|---|---|---|
| viewing_minutes | number | 累计观看时长可参与答题 |
| type | number | viewing_minutes 对应的单位类型(分或秒) |
当主播正在直播,答题完成之后,可以公布答题成绩,或者自动公布成绩
VHRoomEventType.PAPER_SEND_RANK
VHRoomEventType.PAPER_AUTO_SEND_RANK
当主播正在直播,点击收卷之后,用户就不能在继续答题
VHRoomEventType.PAPER_END
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| source_id | 是 | 966397514 | 数据来源id |
| source_type | 是 | 1 | 数据类型 |
| switch_id | 是 | 213123 | 场次id |
| scene_type | 是 | 0 | 场景类型 |
| callback | 是 | xxx | VHExamListCallback |
ExamListHttp() {
VHSaaSDK.getInstance()
.performExamIn(this.webinar_info?.webinar?.id!, 1, this.webinar_info?.switch_info?.switch_id!, 0, {
onSucceed: (data) => {
this.ExamList = data as VHExamList[]
console.log(`获取快问快答列表成功: ${JSON.stringify(data)}`);
},
onFailure: (errorCode, errorMsg) => {
console.log(`获取快问快答列表失败: ${errorMsg}`);
}
})
}| VHExamList 成员 | 类型 | 描述 |
|---|---|---|
| title | string | 试卷标题 |
| push_time | string | 创建时间 |
| score | number | 得分 |
| question_num | string | 问卷题数 |
| limit_time | number | 限时(数值) |
| limit_time_switch | number | 限时开关 0关闭 1开启 |
| status | number | 是否作答 0. 否 1. 是 |
| is_end | number | 答题是否结束 0. 否 1. 是 |
| paper_id | number | 试 卷 id |
| limit_time_type | number | 限时单位类型:0 分(默认) 1 秒 |
| display_score | number | 是否显示成绩和答案:1.是,0.否 |
| mandatory_filling | number | 是否强制填写,0-否(默认) 1-是 |
| push_mode | number | 推送方式,0-手动(默认) 1-自动 |
| can_re_answer | number | 是否可重新作答,0-否(默认) 1-是 |
| answer_condition | condition | 答题条件 |
| replay_filling | number | 是否支持回放填写,0-否(默认) 1-是 |
| total_score | number | 总分 |
| condition 成员 | 类型 | 描述 |
|---|---|---|
| type | number | 类型 |
| viewing_minutes | number | 观看分钟数 |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| paper_id | 是 | xxx | 试卷id |
| source_id | 是 | 209182911 | 活动id |
| switch_id | 是 | xxx | 场次id |
| callback | 是 | xxx | VHExamUserAnswerStatusCallback |
private handleExamEnd(message: VHIMMessageModel) {
this.VHExamDialog.close()
this.examData = message.data as VHExaminationModel
VHSaaSDK.getInstance()
.setExamUserAnswerStatus(this.examData.paper_id,this.webinar_info?.webinar?.id!,
this.webinar_info?.switch_info?.switch_id!, {
onSucceed: (data: VHExamUserAnswerStatus) => {
ToastUtil.showToast('data')
},
onFailure: (errorCode: number, errorMsg: string) => {
ToastUtil.showToast(errorMsg)
}
});
this.pageInfos.removeByName("ExamPage")
ToastUtil.showToast("答题已结束")
}| VHExamUserAnswerStatus 成员 | 类型 | 描述 |
|---|---|---|
| answer_condition | AnswerRecord | 配置信息 |
| display_score | number | 是否显示成绩和答案,0-否 1-是 |
| is_end | number | 答题是否已结束,0-否 1-是 |
| limit_time | number | 限制时长 |
| limit_time_switch | number | 限制时长开关,0-关 1-开 |
| limit_time_type | number | 限制时长类型,0-分 1-秒 |
| mandatory_filling | number | 是否强制填写,0-否(默认) 1-是 |
| paper_id | number | 快问快答id |
| push_time | string | 推送时间,格式:yyyy-MM-dd HH:mm:ss |
| question_num | number | 题目数量 |
| right_rate | string | 正确率 |
| score | number | 得分 |
| status | number | 答题状态,0-未作答 1-已作答 |
| title | string | 标题 |
| total_score | number | 试卷总分 |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| paper_id | 是 | 596384 | 试卷id |
| limit | 是 | 10 | 每页数量 |
| pos | 是 | 0 | 每页数量 |
| callback | 是 | xxx | VHExamPerformanceCallback |
aboutToAppear(): void {
//获取前50个成绩
VHSaaSDK.getInstance().getExamUserPerformanceList(this.examRank.paper_id,50,0,{
onSucceed: (data: VHExamReportList) =>{
if(data.total > 0){
this.highlightDataSource.updateData(data.list);
}
},
onFailure: (errorCode: number, errorMsg: string) => {
}
});
//获取自己的成绩 VHSaaSDK.getInstance().getExamPersonalReport(this.webinar_info.webinar?.id.toString()!,this.examRank.paper_id, {
onSucceed: (data: VHExamPersonalReport) =>{
},
onFailure: (errorCode: number, errorMsg: string) => {
}
});
}| VHExamReportList 成员 | 类型 | 描述 |
|---|---|---|
| total | number | 总数量 |
| list | VHExamReport[] | 成绩排名详情信息 |
| VHExamReport 成员 | 类型 | 描述 |
|---|---|---|
| id | number | 快问快答id |
| account_id | string | 账户id |
| account_type | number | 默认0 |
| user_name | string | 姓名 |
| head_img | string | 头像地址 |
| rank_no | number | 排名 |
| total_score | number | 排名 |
| right_rate | string | 正确率 |
| score | number | 得分 |
| use_time | number | 用时 秒 |
| is_initiative | number | 是否主动交卷 0.否 1.是 |
| status | number | 是否有效 0.否 1.是 |
| mobile | string | 手机号 |
| string | 邮箱 | |
| join_time | string | 参与答题时间 格式:yyyy-MM-dd HH:mm:ss |
快问快答的答题部分由以嵌入页web实现。当收到快问快答推送消息后,通过此方法获取嵌入地址加载webview。
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinars | 是 | initWatch初始化数据 | |
| exam_id | 是 | 快问快答id |
this.ExamUrl =
VHExamInternal.getExamUrl(this.webinar_info!, id, type) as string| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 596643384 | 活动id |
| paper_id | 是 | xxx | 试卷id |
| callback | 是 | xxx | VHExamPersonalReportCallback |
| VHExamPersonalReport 成员 | 类型 | 描述 |
|---|---|---|
| account_id | string | 账户id |
| account_type | string | 默认 0 |
| can_re_answer | number | 是否可重新作答,0-否(默认) 1-是 |
| string | 邮箱 | |
| error_num | number | 错误个数 |
| head_img | string | 头像地址 |
| is_initiative | number | 是否主动交卷 0.否 1.是 |
| mobile | string | 手机号 |
| question_detail | string | 答题详情 |
| rank | number | 个人排名 ,0 为无成绩 |
| rank_all | number | 排行榜总数 |
| right_num | number | 正确数 |
| right_rate | string | 正确率 |
| score | number | 得分 |
| total_score | number | 问卷总分 |
| unanswer_num | number | 未答数 |
| title | string | 标题 |
| use_time | string | 用时 秒 |
| user_form | string | 题型 |
| user_info | string | 用户信息 |
| user_name | string | 用户名 |