nim-web-sdk-ng
Version:
Yunxin IM SDK next generation
191 lines (190 loc) • 4.37 kB
TypeScript
import type { NIMEBaseServiceClass } from './types';
/**
* v2 用户模块
*
* 注: 使用 dist/esm 产物时时,需要动态引入 V2NIMUserService 后使用
*
* @example
* ```
* import { NIM, V2NIMUserService } from 'nim-web-sdk-ng/dist/esm/nim'
* NIM.registerService(V2NIMUserService, 'V2NIMUserService')
* ```
*/
export declare class V2NIMUserService extends NIMEBaseServiceClass<V2NIMUserListener> {
/**
* 根据用户账号列表获取用户资料
*
* @param accountIds 用户 Id 列表。最大为 150 个
*/
getUserList(accountIds: string[]): Promise<V2NIMUser[]>;
/**
* 根据用户账号列表获取用户资料-从云端获取
*
* 注: 其结果会更新本地数据, 建议在需要实时感知用户最新的信息的场景下使用
*
* @param accountIds 用户 Id 列表。最大为 150 个
*/
getUserListFromCloud(accountIds: string[]): Promise<V2NIMUser[]>;
/**
* 更新自己的用户资料。调用该 API 后,会触发 onUserProfileChanged 事件
*
* @param updateParams 更新参数
*/
updateSelfUserProfile(updateParams: V2NIMUserUpdateParams): Promise<void>;
/**
* 添加用户到黑名单中
*
* @param accountId 用户 Id
*/
addUserToBlockList(accountId: string): Promise<void>;
/**
* 从黑名单中移除用户
*
* @param accountId 用户 Id
*/
removeUserFromBlockList(accountId: string): Promise<void>;
/**
* 获取黑名单列表
*/
getBlockList(): Promise<string[]>;
/**
* 检查用户是否在黑名单中
*/
checkBlock(accountIds: string[]): Promise<Record<string, boolean>>;
/**
* 根据关键词搜索用户信息
*
* @param option 搜索选项
*/
searchUserByOption(option: V2NIMUserSearchOption): Promise<V2NIMUser[]>;
}
export declare type V2NIMUserUpdateParams = {
/**
* 用户昵称
*/
name?: string;
/**
* 用户头像图片地址
*/
avatar?: string;
/**
* 用户签名
*/
sign?: string;
/**
* 用户邮箱
*/
email?: string;
/**
* 用户生日
*/
birthday?: string;
/**
* 用户手机号。
*
* 长度限制 32 字符,非中国大陆手机号码需要填写国家代码
*/
mobile?: string;
/**
* 性别
*/
gender?: number;
/**
* 扩展字段
*/
serverExtension?: string;
};
/**
* 用户资料
*/
export declare type V2NIMUser = {
/**
* 账号 id
*/
accountId: string;
/**
* 用户昵称
*/
name: string;
/**
* 用户头像图片地址
*/
avatar?: string;
/**
* 用户签名
*/
sign?: string;
/**
* 用户邮箱
*/
email?: string;
/**
* 用户生日
*/
birthday?: string;
/**
* 用户手机号。
*
* 长度限制 32 字符,非中国大陆手机号码需要填写国家代码
*/
mobile?: string;
/**
* 性别
*/
gender?: number;
/**
* 扩展字段
*/
serverExtension?: string;
/**
* 创建时间
*/
createTime: number;
/**
* 更新时间
*/
updateTime?: number;
};
/**
* 用户模块的事件定义
*
* 注: 使用 dist/esm 产物时时,需要动态引入 V2NIMUserService 后使用
*
* @example
* ```
* import { NIM, V2NIMUserService } from 'nim-web-sdk-ng/dist/esm/nim'
* NIM.registerService(V2NIMUserService, 'V2NIMUserService')
* ```
*/
export interface V2NIMUserListener {
/**
* 收到用户信息
*/
onUserProfileChanged: [users: V2NIMUser[]];
/**
* 黑名单添加通知
*/
onBlockListAdded: [user: V2NIMUser];
/**
* 黑名单删除通知
*/
onBlockListRemoved: [accountId: string];
}
export declare type V2NIMUserSearchOption = {
/**
* 搜索关键词,默认搜索用户昵称,可以指定是否同时搜索用户账户,手机号
*/
keyword: string;
/**
* 是否搜索用户昵称,默认为 true
*/
searchName?: boolean;
/**
* 是否搜索用户账号,默认为 false
*/
searchAccountId?: boolean;
/**
* 是否搜索手机号,默认为 false
*/
searchMobile?: boolean;
};