getUsersInfoWithCache
功能介绍
说明
获取指定用户的个人信息,如果指定了群组 ID,还会获取在群组内的群成员信息。
注意
(1)建议一次最大 100 个,因为数量过多可能会导致数据包太大被后台拒绝;
(2)优先从服务端获取,如果失败,则从本地缓存中获取;
(3)用户调用此接口获取非好友的个人信息,SDK 内部会更新此缓存。
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron/MiniProgram
- React-Native
- Unity
函数原型
Future<List<FullUserInfo>> getUsersInfoWithCache(
List<String> userIDs, {
String? groupID,
String? operationID,
})
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
userIDs | List<String> | 是 | 用户 ID 列表 |
groupID | String | 否 | 群组 ID |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
then | List<FullUserInfo > | 调用成功回调 |
onError | Function | 调用失败回调 |
代码示例
await OpenIM.iMManager.userManager.getUsersInfoWithCache([], '');
// todo
函数原型
- (void)getUsersInfoWithCache:(NSArray<NSString *> *)userIDs
groupID:(NSString * _Nullable)groupID
onSuccess:(nullable OIMFullUsersInfoCallback)onSuccess
onFailure:(nullable OIMFailureCallback)onFailure;
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
userIDs | NSArray<NSString *> | 是 | 用户 ID 列表 |
groupID | NSString | 否 | 群组 ID |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
onSuccess | OIMFullUserInfo | 成功返回 |
onFailure | OIMFailureCallback | 失败返回 |
代码示例
[OIMManager.manager getUsersInfoWithCache:@[]
groupID:@""
onSuccess:^(NSArray<OIMFullUserInfo *> * _Nullable usersInfo) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];
函数原型
public void getUsersInfoWithCache(OnBase<List<UserInfo>> callBack, List<String> uidList,String groupID)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
callBack | OnBase<List<UserInfo>> | 是 | 回调接口 |
uidList | List<String> | 是 | 用户 ID 集合 |
groupID | String | false | 群ID |
返回结果
代码示例
OpenIMClient.getInstance().userInfoManager.getUsersInfoWithCache(new OnBase<List<UserInfo>>() {
@Override
public void onError(int code, String error) {
}
@Override
public void onSuccess(List<UserInfo> data) {
}
},uidList,groupId);
函数原型
IMSDK.getUsersInfoWithCache({
userIDList: string[];
groupID?: string;
}, operationID?: string): Promise<WsResponse<FullUserItem[]>>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
userIDList | string[] | 是 | 用户 userID 列表 |
groupID | string | 否 | 群ID |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<WsResponse<FullUserItem[]>> | 查询到的用户信息列表 |
Promise.catch() | Promise<WsResponse> | 调用失败回调 |
代码示例
import { getSDK } from 'open-im-sdk-wasm';
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 { OpenIMSDK } from 'open-im-sdk';
// const IMSDK = new OpenIMSDK();
const userIDList = ['userID1', 'userID2'];
IMSDK.getUsersInfoWithCache({
userIDList,
groupID: 'groupID',
})
.then(({ data }) => {
// data: 查询到的用户信息列表
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
IMSDK.asyncApi('getUsersInfoWithCache', operationID: string, {
userIDList: string[];
groupID?: string;
}): Promise<FullUserInfo[]>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
userIDList | string[] | 是 | 用户 userID 列表 |
groupID | string | 否 | 群ID |
返回结果
通过
openim-uniapp-polyfill
包将函数 Promise 化,调用时需要使用then
和catch
判断并处理成功和失败回调。
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<FullUserInfo[]> | 查询到的用户信息列表 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import IMSDK from 'openim-uniapp-polyfill';
const userIDList = ['userID1', 'userID2'];
IMSDK.asyncApi('getUsersInfoWithCache', IMSDK.uuid(), {
userIDList,
groupID: 'groupID',
})
.then((data) => {
// data: 查询到的用户信息列表
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
OpenIMSDKRN.getUsersInfoWithCache( {
userIDList: string[];
groupID?: string;
}, operationID: string): Promise<FullUserInfo[]>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
userIDList | string[] | 是 | 用户 userID 列表 |
groupID | string | 否 | 群ID |
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<FullUserInfo[]> | 查询到的用户信息列表 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
const userIDList = ['userID1', 'userID2'];
OpenIMSDKRN.getUsersInfoWithCache({
userIDList,
groupID: 'groupID',
}, 'operationID')
.then((data) => {
// data: 查询到的用户信息列表
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
public static void GetUsersInfoWithCache(OnFullUserInfoWithCacheList cb, string[] userIds, string groupId)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
cb | OnFullUserInfoWithCacheList | 是 | 回调接口 |
usrIds | string[] | 是 | 用户 ID 集合 |
groupID | String | false | 群ID |
返回结果
代码示例
IMSDK.GetUsersInfoWithCache((list,errCode,errMsg)=>{
if(list!= null){
}else{
}
}, userIds, groupId);