V2TIMFriendSearchParam searchParam = new V2TIMFriendSearchParam();
searchParam.setKeywordList(keywordList);
searchParam.setSearchUserID(true);
searchParam.setSearchNickName(true);
searchParam.setSearchRemark(true);
V2TIMManager.getFriendshipManager().searchFriends(searchParam, new V2TIMValueCallback<List<V2TIMFriendInfoResult>>() {
@Override
public void onSuccess(List<V2TIMFriendInfoResult> v2TIMFriendInfos) {
}
@Override
public void onError(int code, String desc) {
}
});
V2TIMFriendSearchParam *searchParam = [[V2TIMFriendSearchParam alloc] init];
searchParam.keywordList = @[@"keyword1", @"keyword2"];
searchParam.isSearchUserID = YES;
searchParam.isSearchNickName = YES;
searchParam.isSearchRemark = YES;
[[V2TIMManager sharedInstance] searchFriends:searchParam succ:^(NSArray<V2TIMFriendInfoResult *> *resultList) {
} fail:^(int code, NSString *desc) {
}];
template <class T>
class ValueCallback final : public V2TIMValueCallback<T> {
public:
using SuccessCallback = std::function<void(const T&)>;
using ErrorCallback = std::function<void(int, const V2TIMString&)>;
<span class="hljs-built_in">ValueCallback</span>() = <span class="hljs-keyword">default</span>;
~<span class="hljs-built_in">ValueCallback</span>() <span class="hljs-keyword">override</span> = <span class="hljs-keyword">default</span>;
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">SetCallback</span><span class="hljs-params">(SuccessCallback success_callback, ErrorCallback error_callback)</span> </span>{
success_callback_ = std::<span class="hljs-built_in">move</span>(success_callback);
error_callback_ = std::<span class="hljs-built_in">move</span>(error_callback);
}
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">OnSuccess</span><span class="hljs-params">(<span class="hljs-keyword">const</span> T& value)</span> <span class="hljs-keyword">override</span> </span>{
<span class="hljs-keyword">if</span> (success_callback_) {
<span class="hljs-built_in">success_callback_</span>(value);
}
}
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">OnError</span><span class="hljs-params">(<span class="hljs-keyword">int</span> error_code, <span class="hljs-keyword">const</span> V2TIMString& error_message)</span> <span class="hljs-keyword">override</span> </span>{
<span class="hljs-keyword">if</span> (error_callback_) {
<span class="hljs-built_in">error_callback_</span>(error_code, error_message);
}
}
private:
SuccessCallback success_callback_;
ErrorCallback error_callback_;
};
V2TIMFriendSearchParam searchParam;
searchParam.keywordList = keywordList;
searchParam.isSearchUserID = true;
searchParam.isSearchNickName = true;
searchParam.isSearchRemark = true;
auto callback = new ValueCallback<V2TIMFriendInfoResultVector>{};
callback->SetCallback(
[=](const V2TIMFriendInfoResultVector& friendInfoResultList) {
delete callback;
},
[=](int error_code, const V2TIMString& error_message) {
delete callback;
});
V2TIMManager::GetInstance()->GetFriendshipManager()->SearchFriends(searchParam, callback);
本页内容是否解决了您的问题?