点赞

一、功能概述

聊天室模块(chat) 提供点赞功能 Api,用于开发者集成点赞功能。

二、使用方式 - 方法

2.1 获取实时的点赞数

收到用户点赞事件后可通过该方法获取实时点赞数,通过 ChatEvents.ChatLikeCountChange 事件监听点赞数改变。

Api 方法: getRealtimeLikes(): number

示例:

const realtimeLikes = watchCore.chat.getRealtimeLikes();
console.log('实时点赞数:', realtimeLikes);

2.2 发送点赞数

Api 方法: sendLike(times: number): Promise<number>

参数说明:

  • times:点赞数,number 类型,必传

返回值说明: Promise<number> 类型

// 当前点赞数
let currentRealtimeLikes = 0;
// 待发送的点赞数
let waitSendLikes = 0;

/** 处理点击点赞按钮 */
function onClickLikeButton() {
  currentRealtimeLikes++;
  waitSendLikes++;
}

/** 将待发送的点赞数发送到服务端 */
async function toSendLike() {
  if (!waitSendLikes) {
    return;
  }

  try {
    const realtimeLikes = await watchCore.chat.sendLike(waitSendLikes);
    currentRealtimeLikes = realtimeLikes;
  } finally {
    // 清空待点赞数
    waitSendLikes = 0;
  }
}

// 每 5 秒中发送一次点赞,避免频繁请求
window.setInterval(() => {
  toSendLike();
}, 5000);

document.querySelector('.like-button').addEventListener('click', onClickLikeButton);

三、使用方式 - 事件

3.1 点赞数修改事件

说明: 通过该事件监听点赞数改变事件,回调后更新页面的点赞数显示。

Event 事件: ChatEvents.ChatLikeCountChange

回调参数: Object 对象,详细类型说明如下

属性名说明类型

realtimeLikes

实时点赞数

number

示例:

watchCore.chat.eventEmitter.on(ChatEvents.ChatLikeCountChange, (data) => {
  console.log('实时点赞数:', data.realtimeLikes);
});

3.2 点赞事件

说明: 通过该事件监听用户的点赞事件

Event 事件: ChatEvents.ChatLike

回调参数: Object 对象,详细类型说明如下

属性名说明类型

count

点赞数

number

realtimeLikes

实时点赞数

number

userId

用户 id

string

nick

用户昵称

string

isSelf

是否自己点赞

boolean

示例:

watchCore.chat.eventEmitter.on(ChatEvents.ChatLike, (data) => {
  console.log('实时点赞数:', data.realtimeLikes);
  console.log('该观众的点赞次数', data.count);
  console.log('点赞的观众 id', data.userId);
  console.log('点赞的观众昵称', data.nick);
});

Last updated