node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
100 lines (99 loc) • 3.24 kB
TypeScript
import { V2NIMUser, V2NIMUserUpdateParams, V2NIMUserSearchOption } from '../v2_def/v2_nim_struct_def';
import { EventEmitter } from 'eventemitter3';
export declare interface V2NIMUserListener {
/** 用户资料变更 */
userProfileChanged: [Array<V2NIMUser>];
/** 添加黑名单 */
blockListAdded: [V2NIMUser];
/** 移除黑名单 */
blockListRemoved: [string];
}
/** @brief 用户资料服务 */
export declare class V2NIMUserService extends EventEmitter<V2NIMUserListener> {
instance: any;
constructor();
/**
* @brief 根据用户账号列表获取用户资料
* @param accountIds 用户账号列表
* @returns void
* @example
* ```javascript
* const users = await v2.userService.getUserList(accountIds)
* ```
*/
getUserList(accountIds: Array<string>): Promise<Array<V2NIMUser>>;
/**
* @brief 更新自己的用户资料
* @param updateParams 更新参数
* @returns void
* @example
* ```javascript
* await v2.userService.updateSelfUserProfile(updateParams)
* ```
*/
updateSelfUserProfile(updateParams: V2NIMUserUpdateParams): Promise<void>;
/**
* @brief 添加用户到黑名单中
* @param accountId 用户账号
* @returns void
* @example
* ```javascript
* await v2.userService.addUserToBlockList(accountId)
* ```
*/
addUserToBlockList(accountId: string): Promise<void>;
/**
* @brief 从黑名单中移除用户
* @param accountId 用户账号
* @returns void
* @example
* ```javascript
* await v2.userService.removeUserFromBlockList(accountId)
* ```
*/
removeUserFromBlockList(accountId: string): Promise<void>;
/**
* @brief 获取黑名单列表
* @returns void
* @example
* ```javascript
* const blockList = await v2.userService.getBlockList()
* ```
*/
getBlockList(): Promise<Array<string>>;
/**
* @brief 根据用户账号列表从服务器获取用户资料, 主要使用 getUserList ,只有强制需要拉取最新用户信息才需要使用该接口
* @param accountIds 用户账号列表
* @returns void
* @example
* ```javascript
* const users = await v2.userService.getUserListFromCloud(accountIds)
* ```
*/
getUserListFromCloud(accountIds: Array<string>): Promise<Array<V2NIMUser>>;
/**
* @brief 根据关键字搜索好友信息
* @param option 搜索选项 @see V2NIMUserSearchOption
* @returns Promise<Array<V2NIMUser>>
* @example
* ```javascript
* const users = await v2.userService.searchUserByOption({
* keyword: 'Alice',
* searchName: true
* })
* ```
*/
searchUserByOption(option: V2NIMUserSearchOption): Promise<Array<V2NIMUser>>;
/**
* @brief 根据账号 ID 检查是否在黑名单中
* @param accountIds 账号 ID 列表
* @returns void
* @since v10.9.0
* @example
* ```javascript
* const result = await v2.userService.checkBlock(['accountId1', 'accountId2'])
* // handle result
* ```
*/
checkBlock(accountIds: Array<string>): Promise<Map<string, boolean>>;
}