开放平台
平台概述
开发者文档
  • API文档
  • SDK文档
  • 接入指南
  • 集成方案
产品功能
  • 新手入门
  • 产品功能
常见问题首页
平台概述
开发者文档
  • API文档
  • SDK文档
  • 接入指南
  • 集成方案
产品功能
  • 新手入门
  • 产品功能
常见问题首页
  1. 互动工具
  • DEMO示例
  • JS SDK
    • web 点播 sdk
      • 更新记录
      • 点播上传SDK
    • web 观播 sdk
      • 产品介绍
      • 快速接入
      • 对接示例
      • 观看直播
      • 文档白板
      • 互动连麦
      • 暖场视频
      • 全局事件
      • 全局错误码
      • 房间消息说明
      • 版本更新记录
      • 互动工具
        • 互动-抽奖
        • 互动-礼物
        • 互动-签到
        • 互动-问卷
        • 互动-公告
        • 互动-商品
        • 互动-问答
        • 互动-推屏卡片
        • 互动-快问快答
        • 互动-聊天
        • 互动-优惠券
        • 互动-点赞
      • 直播间拓展功能
        • 资料下载
        • 观看限制验证
        • 观看协议
        • 回放章节
  • iOS SDK
    • 整体介绍
    • 快速接入
    • SDK 登录
    • 暖场视频
    • 视频轮询
    • 直播彩排
    • 高级美颜
    • 云导播
    • 观看协议
    • 文档白板演示
    • 聊天功能
    • 视频直播
      • 发起视频直播
      • 观看视频直播
    • 互动直播
      • 观众互动
      • 推流摄像头
      • 互动直播API
      • 主播发起互动直播
      • 嘉宾加入互动直播
    • 无延迟直播
      • 主播发起无延迟直播
      • 观众观看无延迟直播
    • 互动工具
      • 互动-抽奖
      • 互动-礼物
      • 互动-签到
      • 互动-问卷
      • 互动-章节打点
      • 互动-公告
      • 互动-商品
      • 互动-计时器
      • 互动-问答
      • 互动-推屏卡片
      • 互动-快问快答
      • 互动-优惠券
      • 互动-点赞
    • 直播间拓展能力
      • 直播间特色功能配置项
      • 文件下载
      • 修改角色昵称
      • 观看权限校验
      • 投屏
      • 虚拟人数
    • 观看回放
      • 观看回放
    • 防录屏
      • 跑马灯
    • 字段说明
      • 互动活动详情字段
      • 错误码说明
      • 常量定义
      • 活动详情字段说明
    • 版本更新说明
      • 版本更新信息
      • v2.3.0 到 v2.4.0 升级说明
      • v3.0.1 到 v3.2.0 升级说明
      • V2.9.0到v3.0.1升级说明
      • v6.3.0
      • v6.2.1
      • v3.2.0 到 v4.0.1
      • v2.7.0 到 v2.8.0、v2.9.0 升级说明
      • 6.5.0
      • v5.0.x 到 v6.0.0
      • v6.4.0
  • Adroid SDK
    • 整体介绍
    • 快速接入
    • SDK登录
    • 暖场视频
    • 视频轮巡功能
    • 直播彩排
    • 高级美颜
    • 云导播功能
    • 观看协议
    • 文档白板
    • 聊天功能
    • 房间消息
    • 信息采集说明
    • 视频直播
      • 发起视频直播
      • 观看视频直播
    • 互动直播
      • 互动直播API
      • 主播发起互动直播
      • 嘉宾加入互动直播
      • 观众观看互动直播
    • 无延迟直播
      • 主播发起无延迟直播
      • 观众观看无延迟直播
    • 互动工具
      • 互动-抽奖
      • 互动-礼物
      • 互动-签到
      • 互动-问卷
      • 互动-公告
      • 互动-商品
      • 互动-计时器
      • 互动-问答
      • 互动-推屏卡片
      • 互动-快问快答
      • 互动-优惠券
      • 互动-点赞
    • 直播拓展功能
      • 修改角色名称
      • 文件下载
      • 投屏演示
      • 虚拟人数
      • 观看权限校验
      • 直播间特色功能配置项
    • 观看回放
      • 观看回放/点播
    • 防录屏
      • 直播水印
      • 跑马灯
    • 字段说明
      • 房间消息字段说明
      • 聊天消息字段说明
      • 活动详情字段说明
    • 更新记录
      • 更新记录
    • 版本更新说明
      • v6.4.0
      • v6.3.0
      • v6.2.3
      • v6.2.1
      • v6.2.0
      • v6.1.0
      • v6.0.0
      • v5.0.0
      • v4.1.0
      • v4.0.0
      • v3.3.0
  • Harmony SDK
    • 整体介绍
    • 快速接入
    • SDK初始化
    • 登录&登出
    • 活动基础信息
    • 观看协议
    • 观看权限校验&预约
    • 开屏海报
    • 暖场视频
    • 观看直播
    • 观看回放/点播
    • 聊天
    • 房间消息
    • 在线人数&热度
    • 文档/白板
    • 版本更新
    • 私聊
    • 播放器错误码
    • 互动工具
      • 互动-问答
      • 互动-问卷
      • 互动-公告
      • 互动-抽奖
      • 互动-签到
      • 互动-计时器
      • 互动-礼物
      • 互动-互动有礼
      • 互动-快问快答
      • 互动-口令红包
      • 互动-推屏卡片
      • 互动-商品
      • 互动-优惠卷
      • 互动-观看有礼
      • 互动-点赞
    • 防录屏
      • 播放器水印&跑马灯
    • 菜单
      • 自定义菜单
      • 文件下载
      • 概要总结
      • 回放列表
      • 邀请卡
  • 微信小程序 SDK
  • 相关协议
    • 微吼直播 SDK 隐私政策
    • 微吼直播 SDK 开发者使用规范
  1. 互动工具

互动-点赞

SDK 观看端提供点赞功能,无需接入方单独开发点赞功能,且点赞数上报微吼统一计算。
接口限频说明: 接口createUserLikeWithRoomId 为高频调用接口,限制调用频率,建议两秒内调用一次

核心方法#

类名类描述
VHSaaSDK.getInstance().userLike 创建房间的用户点赞
VHSaaSDK.getInstance()getRoomLike 获取房间的点赞数量

事件监听#

方法方法描述
imReceiveChatMessage消息回调监听

关键事件#

方法方法描述
VHRoomEventType.CUSTOM_PRAISE签到开始消息

创建房间的用户点赞#

方法 API
  public userLike(roomId: string, num: string, callback: CallBack)
方法入参
参数名称是否必须示例备注
roomId是lss_xxxxxx房间 id
num是99点赞次数,最多 500,超过 500 会强制成为 500
callback接口请求完成回调
方法示例
    VHSaaSDK.getInstance().userLike(this.webinars?.interact?.room_id!, this.clickLikeNumber.toString(), {
      onSuccess: (data: string | object) => {
        console.log("增加点赞数:", this.clickLikeNumber);
      },
      onFailure: (errorCode, errorMsg) => {
        console.log("增加点赞数失败:", errorMsg)
        ToastUtil.showToast(errorMsg);
      }
    });

获取房间的点赞数量#

方法 API
  public getRoomLike(roomId: string, callback: VHRoomLikeCallback)
方法入参
参数名称是否必须示例备注
roomId是lss_xxxxxx房间 id
callback接口请求完成回调VHRoomLikeCallback
方法示例
  getLikeCount() {
    VHSaaSDK.getInstance().getRoomLike(this.webinars?.interact?.room_id!, {
      onSucceed: (data: VHRoomLikeInfo) => {
        this.likeCount = Number(data.total) + Number(data.virtual_count) ;
      },
      onFailure: (errorCode, errorMsg) => {
        console.log("聊天获得历史记录失败:", errorMsg)
      }
    });
  }

获取点赞信息详情#

VHRoomLikeInfo类型备注
totalstring当前房间实际点赞数量
virtual_countstring虚拟点赞数

获取点赞配置开关#

通过permissionsCheck 方法获取数据VHConfigList
watch_hide_like 点赞功能(开启后,观看页显示点赞功能)
hidden_watch_like_data 点赞数据(开启后,观看页显示点赞数据)
代码示例
//读取配置
if (this.functionConfig?.watch_hide_like == 0) {
    Image($r('app.media.icon_like'))
      .width(30)
      .height(30)
      .margin({ right: 5 })
      .onClick(() => {
        this.likeCount++;
        this.clickLikeNumber++;
        this.timer?.cancel();
        this.timer?.start();
        // 在按钮中心上方50px位置生成气泡
        // 获取按钮实际位置
        const buttonWidth = 10
        const buttonHeight = 10
        const btnCenterX = (this.context.width * 0.9) + buttonWidth / 2
        const btnCenterY = (this.context.height * 0.9) + buttonHeight / 2
        // 在按钮中心生成气泡,并限制随机偏移范围
        const maxOffset = 20
        this.addLikeIcon(
          btnCenterX + Math.random() * maxOffset - maxOffset / 2,
          btnCenterY - 10 + Math.random() * maxOffset - maxOffset / 2
        )
      })
  }

监听点赞数据#

监听房间事件CUSTOM_PRAISE
//监听聊天回调点赞消息
  imReceiveChatMessage(type: string, message: VHIMMessageModel) {
    // 点赞消息
    if (type === VHRoomEventType.CUSTOM_PRAISE) {
      EmitterMessage.handleCustomMessage(type, message);
    }
  }
  
  public static handleCustomMessage(type: string, message: VHIMMessageModel) {
    let msgData: EmitterMsgData;
    msgData = {
      type: type,
      data: message
    } as EmitterMsgData;
    EmitterUtil.send(msgData);
  }
  
  //更新点赞数据
   handleLikeCount(msg?: VHIMMessageModel) {
    if (!msg) {
      return;
    }
    // 接收文本消息
    let imMsg: VHContent = msg as VHContent;
    imMsg.data = msg.data as VHMsgData;
    // 接收点赞数
    if (imMsg.data!.event_type === VHRoomEventType.CUSTOM_PRAISE && imMsg.data!.num! > 0) {
      this.likeCount = imMsg.data.num;
    }
  }
  
  
修改于 2025-11-19 08:22:07
上一页
互动-观看有礼
下一页
播放器水印&跑马灯
Built with