在线列表

聊天室模块(chat) 提供用户列表相关 Api,用于开发者开发在线人数、在线列表等功能。

一、分页获取在线列表

Api 方法: getOnlineUserList(options?: GetUserListOptions): Promise<UserListResult>

参数说明:

  • options:获取选项,GetUserListOptions 类型,选传,默认 {},详细类型说明如下

参数名
说明
类型
必须
默认值

pageNumber

页数

number

1

pageSize

每页数量

number

100

返回值说明: Promise<UserListResult> 类型,详细类型说明如下

属性名
说明
类型

count

在线人数

number

userlist

列表

ChatMessageUser<ChatUserType>[]

示例:

const result = await watchCore.chat.getOnlineUserList({
  pageNumber: 1,
  pageSize: 100,
});

console.log('在线列表:', result.userlist);

二、开始在线用户列表轮询

说明: 每隔 1 分钟轮询在线用户列表,调用后会立即触发一次

Api 方法: startOnlineUserListPolling(): void

三、结束在线用户列表轮询

Api 方法: stopOnlineUserListPolling(): void

四、获取在线用户列表新接口

Api 方法: getOnlineUserListNew(): Promise<UserListResult>

返回值说明: Promise<UserListResult> 类型,详细类型说明如下

属性名
说明
类型

count

在线人数

number

userlist

列表

ChatMessageUser<ChatUserType>[]

示例:

const result = await watchCore.chat.getOnlineUserListNew();
console.log('在线列表:', result.userlist);

五、获取聊天室的实时在线人数

通过 getOnlineUserCount 获取实时在线人数,ChatEvents.OnlineUserCountChange 事件监听聊天室在线人数的改变。

Api 方法: getOnlineUserCount(): number

返回值说明: 实时在线人数

示例:

const onlineUserCount = watchCore.chat.getOnlineUserCount();
console.log('当前聊天室在线人数:', onlineUserCount);

// 监听人数改变
watchCore.chat.eventEmitter.on(ChatEvents.OnlineUserCountChange, (data) => {
  console.log('在线人数改变:', data.onlineUserCount);
});

Last updated

Was this helpful?