点赞
更新时间:2024-10-10 17:27:10
一、功能概述
聊天室模块(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);
});
