全局事件说明

调用方式:

调用方式: VHALL_ZK.init完成之后, 用VHALL_ZK.$event.on方法进行使用

事件 功能描述 参数 备注
VHALL_ZK.EVENTS.initReady sdk初始准备完毕 callback VHALL_ZK.init成功之后执行
VHALL_ZK.EVENTS.PlayerReady 视频播放器初始准备完毕 callback VHALL_ZK.$player.init成功之后执行
VHALL_ZK.EVENTS.DocReady 文档初始准备完毕 callback VHALL_ZK.$doc.init成功之后执行
VHALL_ZK.EVENTS.JOIN 用户进入执行 callback -
VHALL_ZK.EVENTS.LEAVE 用户离开执行 callback -
VHALL_ZK.EVENTS.BEGIN_LIVE 开始直播 callback -
VHALL_ZK.EVENTS.FINISH_LIVE 结束直播 callback -
VHALL_ZK.EVENTS.DISABLE_LIVE 直播不可用 callback 套餐用尽或者房间被禁
VHALL_ZK.EVENTS.MARKET_TOOL 互动工具消息 callback 问卷,红包,推荐卡片,抽奖,商品
VHALL_ZK.EVENTS.ANNOUNCEMENT 公告 callback -
VHALL_ZK.EVENTS.KICK 踢出 callback -
VHALL_ZK.EVENTS.KICK_BATCH 批量踢出 callback -
VHALL_ZK.EVENTS.GAG 禁言 callback -
VHALL_ZK.EVENTS.DISABLE_GAG 恢复禁言 callback -
VHALL_ZK.EVENTS.GAG_ALL 全体禁言 callback -
VHALL_ZK.EVENTS.DISABLE_GAG_ALL 恢复全体禁言 callback -
VHALL_ZK.EVENTS.DELETE_MESSAGE 删除聊天消息 callback -
VHALL_ZK.EVENTS.MENU_PUSH 菜单开关推送 callback -
VHALL_ZK.EVENTS.INCREMENT_ONLINE 虚拟人数通知 callback -
VHALL_ZK.EVENTS.ERROR 错误消息通知 callback -

代码示例

VHALL_ZK.init({
 ...
})
VHALL_ZK.$event.on(VHALL_ZK.EVENTS.initReady, () => {
 ...
})
VHALL_ZK.$event.on(VHALL_ZK.EVENTS.ERROR, (e) => {
  console.error(e)
  if (e.code === 50000) { // 套餐用尽
    if (e.data.can_login === 'N') {
      let type = e.data.package === 'FLOW' ? 'off' : 'over'
      window.location.href = `${this.PC_HOST}other/${type}`
    }
  }
})
VHALL_ZK.$event.on(VHALL_ZK.EVENTS.KICK, () => { // 当前用户被踢出
   this.$router.replace('/kicked')
})
/* 监听营销工具消息 */
VHALL_ZK.$event.on(VHALL_ZK.EVENTS.MARKET_TOOL, (msg) => {
	switch (msg.type) {
	  case SaleTool.TOAST_NUM: // 点赞消息
	    this.zan_num = msg.toast_num // 点赞数量
	    break
	case SaleTool.DOC_DOWNLOAD_SWITCH: // 资料下载开关
	    ...
	    break
	}
	/* 根据直播延迟时间延迟处理营销工具推送消息 */
	let tTime = setTimeout(() => {
	  clearTimeout(tTime)
	  // 处理营销工具推送消息
	  marketTool(msg)
	}, this.live_delay)
})
function marketTool (msg) {
   switch (msg.type) {
      case SaleTool.RECOMMEND_CARD_PUSH:
         console.log('--推荐卡片--消息--')
         break
      case SaleTool.NAIRE:
         console.log('--发送问卷--消息--')
         break
       case RedBagTool.createRedBag:
         console.log('--红包消息--消息--')
         break
       case DrawTool.createDraw:
         console.log('--创建抽奖通知--消息--')
         break
       case DrawTool.endLottery:
         console.log('--抽奖结束--消息--')
         break
   }
}