getSubscribeUsersStatus
功能介绍
说明
获取所有已订阅用户的在线状态。
注意
docs/sdks/ 一次获取所有订阅用户的在线状态,最多返回3000个。
- iOS
 - Android
 - Flutter
 - uni-app
 - Browser/Electron/MiniProgram
 - React-Native
 - Unity
 
函数原型
 Future<List<UserStatusInfo>> getSubscribeUsersStatus({
    String? operationID,
  })
输入参数
无
返回结果
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| then | List<UserStatusInfo > | 调用成功回调 | 
| onError | Function | 调用失败回调 | 
代码示例
await OpenIM.iMManager.userManager.getSubscribeUsersStatus();
// todo
函数原型
- (void)getSubscribeUsersStatusWithOnSuccess:(nullable OIMUserStatusInfosCallback)onSuccess
                                   onFailure:(nullable OIMFailureCallback)onFailure;
输入参数
无
返回结果
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| onSuccess | NSArray<OIMUserStatusInfo *> | 成功返回 | 
| onFailure | OIMFailureCallback | 失败返回 | 
代码示例
[OIMManager.manager getSubscribeUsersStatusWithOnSuccess:^(NSArray<OIMUserStatusInfo *> * _Nullable statusInfos) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];
函数原型
public void getSubscribeOnlineUsersStatus(OnBase<List<UsersOnlineStatus>> callBack)
输入参数
无
返回结果
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| callBack | OnBase<List<UsersOnlineStatus>> | 调用成功回调 | 
代码示例
        OpenIMClient.getInstance()
            .userInfoManager.getSubscribeOnlineUsersStatus(new OnBase<List<UsersOnlineStatus>>() {
                @Override
                public void onError(int code, String error) {
                }
                @Override
                public void onSuccess(List<UsersOnlineStatus> data) {
                // todo
                }
            });
函数原型
IMSDK.getSubscribeUsersStatus(operationID?: string): Promise<WsResponse<UserOnlineState[]>>
输入参数
无
返回结果
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| Promise.then() | Promise<WsResponse<UserOnlineState[]>> | 用户在线状态详情列表 | 
| Promise.catch() | Promise<WsResponse> | 调用失败回调 | 
代码示例
import { getSDK } from '@openim/wasm-client-sdk';
const IMSDK = getSDK();
// use in electron with ffi
// import { getWithRenderProcess } from '@openim/electron-client-sdk/lib/render';
// const { instance: IMSDK } = getWithRenderProcess();
// use in mini program
// import { getSDK } from '@openim/client-sdk';
// const IMSDK = getSDK();
IMSDK.getSubscribeUsersStatus()
  .then(({ data }) => {
    // data: 已订阅的用户在线状态详情列表
  })
  .catch(({ errCode, errMsg }) => {
    // 调用失败
  });
函数原型
IMSDK.asyncApi('getSubscribeUsersStatus', operationID: string): Promise<UserOnlineState[]>
输入参数
| 参数名称 | 参数类型 | 是否必填 | 描述 | 
|---|---|---|---|
| operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 | 
返回结果
通过
openim-uniapp-polyfill包将函数 Promise 化,调用时需要使用then和catch判断并处理成功和失败回调。
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| Promise.then() | Promise<UserOnlineState[]> | 用户在线状态详情列表 | 
| Promise.catch() | Promise<CatchResponse> | 调用失败回调 | 
代码示例
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('getSubscribeUsersStatus', IMSDK.uuid())
  .then((data) => {
    // data: 已订阅的用户在线状态详情列表
  })
  .catch(({ errCode, errMsg }) => {
    // 调用失败
  });
函数原型
OpenIMSDKRN.getSubscribeUsersStatus(operationID: string): Promise<UserOnlineState[]>
输入参数
| 参数名称 | 参数类型 | 是否必填 | 描述 | 
|---|---|---|---|
| operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 | 
返回结果
| 参数名称 | 参数类型 | 描述 | 
|---|---|---|
| Promise.then() | Promise<UserOnlineState[]> | 用户在线状态详情列表 | 
| Promise.catch() | Promise<CatchResponse> | 调用失败回调 | 
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
OpenIMSDKRN.getSubscribeUsersStatus('operationID')
  .then((data) => {
    // data: 已订阅的用户在线状态详情列表
  })
  .catch(({ errCode, errMsg }) => {
    // 调用失败
  });