进入直播间的关键数据获取通过一下方法
| 方法 | 方法描述 |
|---|---|
| VHSaaSDK.getInstance().getWatchInfo | 获取初始化观看活动信息 |
| VHSaaSDK.getInstance().getWebinarState | 获取直播状态接口 |
| VHSaaSDK.getInstance().commonConfig | 互动配置聚合接口 |
| VHSaaSDK.getInstance().getConfigList | 获取直播活动权限 |
| VHSaaSDK.getInstance().getRoomToolsState | 获取互动工具配置接口 |
| VHSaaSDK.getInstance().getLiveInit | 获取发起端活动初始化信息 |
| VHSaaSDK.getInstance().liveStart | 开始直播 |
| VHSaaSDK.getInstance().liveEnd | 结束直播 |
| VHSaaSDK.getInstance().getRoleName | 获取 活动角色配置名称 |
public getWatchInfo(webinarId: string,recordId: string, email: string, nickname: string, callback: VHWatchWebinarInfoCallback)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 398887625 | 活动id |
| recordId | 否 | xxx | 回放id |
| 否 | xxx | 邮箱 | |
| nickname | 否 | xxx | 昵称 |
| callback | 是 | xxx | VHWatchWebinarInfoCallback类型回调 |
VHSaaSDK.getInstance().getWatchInfo(this.webinar_id, this.nick_name, nickname, {
onSucceed: (data: VHWebinarData) => {
if (callback) {
callback.onSucceed(data);
}
},
onFailure: (errorCode, errorMsg) => {
if (callback) {
callback.onFailure(errorCode, errorMsg);
}
}
});初始化活动时通过接口回调获取到的获取的活动基本信息。
| VHWebinarData成员 | 类型 | 描述 |
|---|---|---|
| webinar | VHWebinarDetail | 活动信息 |
| switch_info | VHSwitchInfo | 场次信息 |
| join_info | VHJoinInfo | 参会信息 |
| sso | VHSso | 设置单点登录 |
| urls | VHUrls | cdn地址 |
| record | VHRecord | 回放信息 |
| warm_up | VHWarmup | 暖场视频 |
| pv | VHPageView | 热度 |
| online | VHOnline | 在线人数 |
| subscribe | VHSubscribe | 预约人数 |
| interact | VHInteract | 互动信息 |
| system_time | string | 系统时间 |
| paas_record_id | string | paas 层回放id |
| live_type | string | 直播类型 live_type:0-正式(默认);2-彩排 |
| record_remark_layout | number | 回放重置布局:0-无 1-三分屏 2-画中画 3-纯文档 |
| status | string | subscribe-预约,live-直播 |
| cast_screen | number | 投屏权限:0-无权限投屏,1-有权限投屏 |
| cheat_num | number | 在线人数显示系数 |
| webinar_show_type | number | 1:横屏 0:竖屏 |
| visitor_id | string | 访客id |
初始化活动时获取的活动基本信息。
| VHWebinarDetail | 类型 | 描述 |
|---|---|---|
| id | number | 活动id |
| subject | string | 活动标题 |
| introduction | string | 活动简介 |
| mode | number | 模式(1-音频、2-视频、3-互动、 4-文档、5-定时直播、6-分组讨论) |
| live_time | number | 直播时长 |
| document_id | number | 文档id |
| start_time | string | 活动开始时间 |
| end_time | string | 活动结束时间 |
| actual_start_time | string | 实际开始时间 |
| img_url | string | 直播预览图片 |
| type | number | 活动当前状态 1-直播中,2-预约,3-结束,4-点播,5-回放 |
| verify_source | string | 验证源 |
| verify | number | 验证类别,0 无验证,1 密码,2 白名单,3 付费活动, 4 F码 ,6 付费+F码 |
| verify_tip | string | 观看限制提示语 |
| reg_form | number | 是否开启报名表单 |
| no_delay_webinar | number | 无延迟直播:1-是,0-否 |
| fee | string | 观看费用 |
| category | number | 类别 |
| hide_subscribe | number | 预约按钮状态 1开启 0关闭 |
| webinar_show_type | number | 1:横屏 0:竖屏 |
| vertical_img_url | string | 竖屏直播封面图 |
| pv | number | 观看人数 |
| hide_pv | number | 是否显示pv 1:显示 0:不显示 |
| webinar_type | number | 活动类型 1 音频 2 视频 3 互动 5 定时直播 |
| webinar_state | number | 活动当前状态 1-直播中,2-预约,3-结束,4-点播,5-回放 |
| userinfo | VHUserInfo | 用户信息 |
活动场次主要用于回放,接口调用需要场次id等信息。
| VHSwitchInfo | 类型 | 描述 |
|---|---|---|
| switch_id | number | 活动场次id |
| start_time | string | 当前场次活动开始时间 |
| end_time | string | 当前场次活动结束时间 |
| start_type | number | 1:WEB 2:APP 3:SDK 4:推拉 流 5:定时 6:Admin后台 |
| end_type | number | 1:WEB 2:APP 3:SDK 4:推拉流 5:定时 6:Admin后台 |
| type | number | type 1-录播,0-直播 |
用户参会信息及用户id等信息需要通过此模型获取
| VHJoinInfo | 类型 | 描述 |
|---|---|---|
| third_party_user_id | string | 三方用户id |
| nickname | string | 昵称 |
| avatar | string | 头像url |
| phone | string | 电话 |
| string | 邮箱 | |
| role_name | number | 角色类型 1 主持人,2 观众,3 助理,4 嘉宾 |
| privacies | string | 私密信息 |
| join_id | string | 参会id |
| is_gag | number | 是否禁言 1:禁言 0 未禁言 |
| is_kick | number | 是否踢出 1:踢出 0 未踢出 |
| user_id | number | 用户id |
| is_subscribe | number | 是否预约:0-否,1-是 |
| verified | number | 是否已通过观看限制(不含报名表单)0 未验证通过 1 已验证通过 |
| reg_form | number | 是否已填写报名表单)0 否 1 是 |
| subject_join_id | number | 专题参会id |
| audit_status | number | 审核状态,0=待审核(审核中),1=审核通过,2=审核驳回 |
互动房间信息主要获取底层配置参数
| VHInteract | 类型 | 描述 |
|---|---|---|
| room_id | string | 房间号 比如:lss_a1232bc |
| channel_id | string | 频道号 |
| inav_id | string | 互动连麦房间id |
| interact_token | string | 互动token |
| paas_app_id | string | paas 层 appid |
| paas_access_token | string | paas token |
| subscribe_paas_access_token | string | paas token |
热度信息主要展示活动热度
| VHPageView | 类型 | 描述 |
|---|---|---|
| show | number | 是否显示 1展示 0隐藏 |
| real | number | 真实热度 |
| virtual | number | 虚拟热度 |
在线人数信息主要展示活动人数
| VHOnline | 类型 | 描述 |
|---|---|---|
| show | number | 是否显示 1展示 0隐藏 |
| real | number | 真实在线人数 |
| virtual | number | 虚拟在线人数 |
主要用于回放活动,主要包括回放id等信息
| VHRecord信息 | 类型 | 描述 |
|---|---|---|
| paas_record_id | string | 回放paas_record_id |
| record_id | string | 回放id |
| record_remark_layout | number | 回放重置布局:0-无 1-三分屏 2-画中画 3-纯文档 |
| preview_paas_record_id | string | 试看paas_record_id,当活动配置了观看限制,并开通了试看功能则此字段有值。可以使用回放播放器VHWatchVodPlayer.startPlayWithRecordId 方法进行播放 |
| encrypt_status | number | 0:未加密 1:加密中 2:加密成功 |
| is_union_screen | number | 是否融屏 1:是 0 否 |
主要用于活动开播前和预约前观看直播活动
| VHWarmup信息 | 类型 | 描述 |
|---|---|---|
| warmup_paas_record_id | string[] | 暖场paas_record_id |
| warmup_img_url | string | 暖场封面 |
| warmup_player_type | number | 1:单次播放 2:循环播放 |
| advance_play_time | number | 提前播放时间,单位秒. 预约或开播前展示 |
如果活动状态为预约状态,在预约页面判断此参数是否开启。
| VHSubscribe | 类型 | 描述 |
|---|---|---|
| show | number | 是否开启 1是0否 |
| num | number | 预约人数 |
public commonConfig(webinarId: string, switchId: string, callback: VHCommonConfigCallback) | 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | xxx | 活动id |
| switchId | 是 | xxx | 场次id,通过VHSwitchInfo.switch_id |
| callback | 是 | xxx | VHCommonConfigCallback 类型回调 |
主要包含当前活动或回放中菜单、签到、其他互动工具配置信息。
| VHCommonConfig | 类型 | 描述 |
|---|---|---|
| menus | VHMenus[] | 菜单标签,接口使用参考自定义菜单 |
| sign | VHSignInfo | 签到信息,接口使用参考互动工具-签到 |
| timer | VHTimer | 计时器信息,接口使用参考互动工具-计时器 |
| skin | VHSkin | 观看端皮肤 |
| screen_poster | VHScreenPoster | 开屏海报 |
| public_account | VHPublicAccount | 公众号配置 |
| adv | VHAdvDefault | 广告 |
| goods | VHGoodsData | 商品 |
| keywords | VHKeyWords | 关键字 |
| webinar_tag | VHWebinarTag | 活动标签 |
| red_packet | VHRedPacket | 最近一次红包 |
| like_total | number | 点赞数量 |
| invite_card | number | 是否开启邀请 1:开启 0:关闭 |
| chat_announcement | VHChatAnnouncement | 平台公告 |
| push_screen_card | string | 本场直播已推送的推屏卡片 ID |
| room_tool | VHRoomToolsStatusData | 互动工具 |
主要展示直播间对应菜单标签及展示状态
| VHMenus | 类型 | 描述 |
|---|---|---|
| id | number | 菜单主键id |
| name | string | 菜单名称 |
| type | number | 分类1自定义,2文档,3聊天,4简介,5商品,6推荐,9文档下载,10游戏互动,11精彩时刻,12概要总结,13问答,14回放列表,15AI直播间 |
| status | string | 1显示,2隐藏,3直播回放显示,4预告结束显示 |
| wap_show | string | SDK 是否显示,0:否,1:是 |
直播或回放当前签到状态
| VHSignInfo | 类型 | 描述 |
|---|---|---|
| app_id | string | 应用 id |
| creator_nickname | string | 创建者昵称 |
| creator_avatar | string | 创建者头像 |
| show_time | string | 签到显示时间,单位秒 |
| creator_id | string | 创建者ID |
| is_auto_sign | number | 是否自动签到(字符串类型,可能为"0"或"1") |
| auto_sign_time | number | 自动签到时间 |
| auto_sign_time_ttl | number | 自动签到时间有效期 |
| sign_time_ttl | string | 签到时间有效期 |
| bu | string | 业务线标识 |
| deleted | string | 是否删除(字符串类型,可能为"0"或"1") |
| created_at | string | 创建时间 |
| deleted_at | string | 删除时间 |
| updated_at | string | 更新时间 |
| id | string | 签到id |
| sign_tips | string | 签到提示语 |
| auto_kick_unsigned | number | 是否开启未签到用户自动踢出:1.开启,0.不开启 |
| sign_in_success_tips | string | 签到成功提示 语 |
| is_signed | number | 是否签到 1=已签到,0=未签到 |
进入直播间获取直播当前计时器状态
| VHTimer | 类型 | 描述 |
|---|---|---|
| duration | string | 总时间 秒 |
| is_all_show | string | 是否所有人可见 0=不可见 1=可见 |
| is_timeout | string | 是否允许超时 0=否 1 是 |
| remain_time | string | 剩余时间 秒 |
| status | string | 状态 4=暂停 |
进入直播间获取当前红包状态
| VHRedPacket | 类型 | 描述 |
|---|---|---|
| description | number | 0=无 |
| red_packet_uuid | string | 红包唯一标识ID |
| get_user_count | string | 已抢数量 |
| is_luck | string | 标识当前用户是否已领取红包, 1 是,0 否 |
如果活动状态为预约状态,在预约页面判断此参数是否开启。
| VHRoomToolsStatusData | 类型 | 描述 |
|---|---|---|
| is_board | number | 开关白板,1开0关 |
| is_doc | number | 获取文档开关状态 0 否 1是 |
| is_handsup | number | 举手开关是否开启。1 开启 0 关闭 |
| layout | string | 获取观看端布局, 未设置返回空 |
| speakerAndShowLayout | number | 是否开启文档融屏 1=是 0=否 |
| definition | string | 获取视频清晰度, 未设置返回空 |
| screen_definition | string | 获取桌面清晰度, 未设置返回空 |
| main_screen | string | 主画面绑定的参会ID,默认为主持人 |
| presentation_screen | string | 主讲人参会id |
| doc_permission | string | 主讲人id 文档操作权限绑定的参会ID. 默认为主持人 |
| start_type | number | 获取活动发起类型 1 web 2 app 3 sdk 4 推拉流 5 定时 6 admin后台 7第三方8 windows客户端 |
| all_banned | number | 获取全体禁言 0 否 1 是 |
| chat_status | string | 聊天状态 1开启。0 关闭 |
| is_desktop | number | 获取是否开启桌面演示状态 0 否 1 是 |
| question_status | number | 问答是否处于开启状态 1 开启 0 关闭,对应原始qa_open(直播) |
| push_definition | number | 推送清晰度 |
| question_name | string | 问答名称 |
| question_public_status | string | 问答是否全员可见:1.是,0.否 |
| is_banned | number | 当前用户是否被禁言,1禁言,0取消禁言 |
| is_kicked | number | 当前用户是否被踢出,1踢出,0取消踢出 |
| qa_status | number | 问答状态:1开启 0关闭 |
| private_chat_status | number | 私聊维度:1开启 0关闭 |
| is_adi_watch_doc | number | 观众是否可预览文档1:是 0 否 |
| is_open_switch | number | 是否开启分组讨论1=是 0=否 |
| video_polling | number | 视频轮询 0:关闭 1:开启 |
| join_role | number | 加入角色 |
| banned_mode | number | 禁言模式, 0 用户有感知,1 用户无感知 |
public getWebinarState(webinarId: string, callback: VHWebinarStateCallback)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | xxx | 活动id |
| callback | 是 | xxx | VHWebinarStateCallback 类型回调 |
public getConfigList( webinarId: string, webinar_user_id: string, callback: VHConfigListCallback)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|
//获取活动权限
VHSaaSDK.getInstance().getConfigList(this.webinars?.webinar?.id.toString()!,
this.webinars?.webinar?.userinfo.user_id.toString()!, {
onSucceed: (configData: VHConfigList) => {
this.functionConfig = configData;
},
onFailure: (errorCode: number, errorMsg: string) => {
console.error('获取功能配置失败: ' + JSON.stringify(errorMsg));
ToastUtil.showToast(errorMsg);
}
});
进入直播间获取当前功能开关配置项
| VHConfigList | 类型 | 描述 |
|---|---|---|
| watch_hide_like | number | 点赞功能:观看端-隐藏点赞 1隐藏 0不隐藏 |
| hidden_watch_like_data | number | 点赞功能:观看端-隐藏点赞数据 1隐藏 0不隐藏 |
| live_hidden_same | number | 直播隐藏原画 1隐藏 0不隐藏 |
| live_chat_welcome | number | 聊天欢迎语 1支持 0不支持 |
| watch_record_no_chatting | number | 观看端-回放禁言 1禁言 0不禁言 |
| watch_record_chapter | number | 回放/点播观看端显示文档章节 1显示 0不显示 |
| record_watch_expire_config | VHRecordWatchExpire | 回放过期时间 |
| hide_gifts | number | 观看端-礼物功能 1隐藏 0不隐藏 |
| chat_nickname_encryption | number | 聊天昵称加密。0 不加密 1 加密 |
过期时间。如果回放开启过期时间需要用户根据播放进度判断是否继续允许播放
| VHRecordWatchExpire | 类型 | 描述 |
|---|---|---|
| number | number | 1 开启 0 关闭 |
| type | number | 1 全天 2部分时段 |
| start_date | string | 开始日期 2025-10-14 |
| end_date | string | 结束日期2025-10-30 |
| start_time | string | 开始时间 14: 55: 12 |
| end_time | string | 结束时间 15: 55: 12 |
public getRoomToolsState(webinarSwitchId: string, roomId: string,
callback: VHRoomStatusCallback)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarSwitchId | 是 | xxx | 场次id,通过SwitchInfo.switch_id |
| roomId | 是 | xxx | |
| callback | 是 | xxx | VHRoomStatusCallback 类型回调 VHRoomToolsStatusData |
public getLiveInit(webinarId: string, nickName: string, email: string, callback: VHWatchWebinarInfoCallback) | 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 298778928 | 活动id |
| nickName | 否 | ||
| 否 | |||
| callback | 是 | VHWatchWebinarInfoCallback 成功返回VHWebinarData |
public liveStart(webinar_id: string, live_type: string, callback: CallBack) | 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 298778928 | 活动id |
| live_type | 是 | 直播类型:0-正式直播(默认);2-彩排 | |
| callback | 是 | CallBack |
public liveEnd(webinar_id: string, live_type: string, callback: CallBack)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 298778928 | 活动id |
| live_type | 是 | 直播类型:0-正式直播(默认);2-彩排 | |
| callback | 是 | CallBack |
获取活动角色配置名称,可用于在聊天内显示对应角色名称。比如主持人、嘉宾、助理 对应的新名称(主持人=》本场主讲人 ,嘉宾=》大中华区经理 ,助理=》活动助理)
public getRoleName(webinarId: string, callback: VHRoleNameCallback)| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| webinarId | 是 | 298778928 | 活动id |
| callback | 是 | CallBack返回角色名称VHRoleName |
| VHRoleName参数 | 类型 | 示例 | 备注 |
|---|---|---|---|
| host_name | string | 本场主讲人 | |
| guest_name | string | 大中华区经理 | |
| assistant_name | string | 活动助理 |