searchGroupMembers
功能介绍
说明
通过关键词搜索某个群的群成员。
注意
(1)群成员才有搜索权限;
(2)至少需指定一个搜索域;
(3)多个域之间是或的关系。
- iOS
- Android
- Flutter
- uni-app
- Browser/Electron/MiniProgram
- React-Native
- Unity
函数原型
Future<List<GroupMembersInfo>> searchGroupMembers({
required String groupID,
List<String> keywordList = const [],
bool isSearchUserID = false,
bool isSearchMemberNickname = false,
int offset = 0,
int count = 40,
String? operationID,
})
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
groupID | String | 是 | 群ID |
keywordList | List<String> | 是 | 关键字 |
isSearchUserID | bool | 是 | 检索用户 ID |
isSearchMemberNickname | bool | 是 | 检索用户昵称 |
offset | int | 是 | 起始偏移量 |
count | int | 是 | 每次查询的总数 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
~ | List<GroupMembersInfo> | 成功返回 |
代码示例
List<GroupMembersInfo> list = await OpenIM.iMManager.groupManager.searchGroupMembers(
groupID: '',
keywordList: ['haha'],
isSearchUserID: true,
isSearchMemberNickname: true,
offset: 0,
count: 20,
);
// todo
函数原型
- (void)searchGroupMembers:(OIMSearchGroupMembersParam *)searchParam
onSuccess:(nullable OIMGroupMembersInfoCallback)onSuccess
onFailure:(nullable OIMFailureCallback)onFailure;
输入参数
字段名称 | 字段类型 | 是否必填 | 描述 | |
---|---|---|---|---|
SearchGroupMembersParam.groupID | NSString | 是 | 群ID | |
SearchGroupMembersParam.keywordList | NSArray< NSString *> | 是 | 搜索关键词,目前仅支持一个关键词搜索,不能为空 | |
SearchGroupMembersParam.isSearchUserID | BOOL | 否 | 是否以关键词搜索 UserID | |
SearchGroupMembersParam.isSearchMemberNickname | BOOL | 否 | 是否以关键词搜索昵称,默认 false | |
SearchGroupMembersParam.offset | NSInteger | 否 | 偏移量 | |
SearchGroupMembersParam.count | NSInteger | 否 | 数量 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
onSuccess | NSArray< OIMGroupMemberInfo *> | 成功返回 |
onFailure | OIMFailureCallback | 失败返回 |
代码示例
OIMSearchGroupMembersParam *param = [OIMSearchGroupMembersParam new];
param.groupID = @"";
param.keywordList = @[];
param.offset = 0;
param.count = 20;
[OIMManager.manager searchGroupMembers:param
onSuccess:^(NSArray<OIMGroupMemberInfo *> * _Nullable groupMembersInfo) {
} onFailure:^(NSInteger code, NSString * _Nullable msg) {
}];
函数原型
public void searchGroupMembers(OnBase<List<GroupMembersInfo>> callBack, String groupID, List<String> keywordList, boolean isSearchUserID, boolean isSearchMemberNickname, int offset, int count)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
callBack | OnBase<List<GroupMembersInfo>> | 是 | 回调接口 |
groupID | String | 是 | 群ID |
keywordList | List<String> | 是 | 关键字 |
isSearchUserID | Boolean | 是 | 检索用户 ID |
isSearchMemberNickname | Boolean | 是 | 检索用户昵称 |
offset | int | 是 | 起始偏移量 |
count | int | 是 | 每次查询的总数 |
返回结果
代码示例
OpenIMClient.getInstance().groupManager.searchGroupMembers(new OnBase<List<GroupMembersInfo>>() {
@Override
public void onError(int code, String error) {
}
@Override
public void onSuccess(List<GroupMembersInfo> data) {
}
}, groupID, keywordList, isSearchUserID, isSearchMemberNickname, offset, count);
函数原型
IMSDK.searchGroupMembers({
groupID: string;
keywordList: string[];
isSearchUserID: boolean;
isSearchMemberNickname: boolean;
offset: number;
count: number;
}, operationID?: string): Promise<WsResponse<GroupMemberItem[]>>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
groupID | string | 是 | 群组 ID |
keywordList | string[] | 是 | 搜索关键词,目前仅支持一个关键词搜索,不能为空 |
isSearchUserID | boolean | 是 | 是否以关键词搜索群成员 userID |
isSearchMemberNickname | boolean | 是 | 是否以关键词搜索群成员昵称 |
offset | number | 是 | 起始偏移,分页拉取使用 |
count | number | 是 | 分页拉取,一页拉取的成员个数 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<WsResponse<GroupMemberItem[]>> | 搜索到的群成员信息列表 |
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 { OpenIMSDK } from 'open-im-sdk';
// const IMSDK = new OpenIMSDK();
IMSDK.searchGroupMembers({
groupID: '',
keywordList: ['nickname'],
isSearchUserID: false,
isSearchMemberNickname: true,
offset: 0,
count: 20,
})
.then(({ data }) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
IMSDK.asyncApi('searchGroupMembers', operationID: string, {
groupID: string;
keywordList: string[];
isSearchUserID: boolean;
isSearchMemberNickname: boolean;
offset: number;
count: number;
}): Promise<GroupMemberItem[]>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
keywordList | string[] | 是 | 搜索关键词,目前仅支持一个关键词搜索,不能为空 |
isSearchUserID | boolean | 是 | 是否以关键词搜索 userID |
isSearchNickname | boolean | 是 | 是否以关键词搜索昵称 |
isSearchRemark | boolean | 是 | 是否以关键词搜索备注 |
offset | number | 是 | 起始偏移,分页拉取使用 |
count | number | 是 | 分页拉取,一页拉取的成员个数 |
返回结果
通过
openim-uniapp-polyfill
包将函数 Promise 化,调用时需要使用then
和catch
判断并处理成功和失败回调。
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<GroupMemberItem[]> | 搜索到的群成员信息列表 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import IMSDK from 'openim-uniapp-polyfill';
IMSDK.asyncApi('searchGroupMembers', IMSDK.uuid(), {
groupID: '',
keywordList: ['nickname'],
isSearchUserID: false,
isSearchMemberNickname: true,
offset: 0,
count: 20,
})
.then((data) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
OpenIMSDKRN.searchGroupMembers({
groupID: string;
keywordList: string[];
isSearchUserID: boolean;
isSearchMemberNickname: boolean;
offset: number;
count: number;
}, operationID: string): Promise<GroupMemberItem[]>
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
keywordList | string[] | 是 | 搜索关键词,目前仅支持一个关键词搜索,不能为空 |
isSearchUserID | boolean | 是 | 是否以关键词搜索 userID |
isSearchNickname | boolean | 是 | 是否以关键词搜索昵称 |
isSearchRemark | boolean | 是 | 是否以关键词搜索备注 |
operationID | string | 是 | 操作 ID,用于定位问题,保持唯一,建议用当前时间和随机数 |
offset | number | 是 | 起始偏移,分页拉取使用 |
count | number | 是 | 分页拉取,一页拉取的成员个数 |
返回结果
参数名称 | 参数类型 | 描述 |
---|---|---|
Promise.then() | Promise<GroupMemberItem[]> | 搜索到的群成员信息列表 |
Promise.catch() | Promise<CatchResponse> | 调用失败回调 |
代码示例
import OpenIMSDKRN from "open-im-sdk-rn";
OpenIMSDKRN.searchGroupMembers({
groupID: '',
keywordList: ['nickname'],
isSearchUserID: false,
isSearchMemberNickname: true,
offset: 0,
count: 20,
}, 'operationID')
.then((data) => {
// 调用成功
})
.catch(({ errCode, errMsg }) => {
// 调用失败
});
函数原型
public static void SearchGroupMembers(OnBase<List<GroupMember>> cb, SearchGroupMembersParam searchParam)
输入参数
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
cb | OnBase<List<GroupMembersInfo>> | 是 | 回调接口 |
searchParam | SearchGroupMembersParam | 是 | 群ID |
返回结果
代码示例
IMSDK.SearchGroupMembers((list,errCode,errMsg)=>{
},new SearchGroupMembersParam(){
});