@fork-anyone/node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
112 lines (111 loc) • 4.84 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import { NIMUserAPI, SetRelationCallback, GetSpecialListCallback, GetUserNameCardCallback, UpdateMyUserNameCardCallback, NINPushType, UserNameCard, SpecialRelationshipChangeEvent, BlackMuteListInfo } from '../nim_def/user_def';
import { NIMResCode } from '../nim_def/client_def';
export declare interface NIMUserEvents {
/** 用户属性变更 */
specialRelationChange: [SpecialRelationshipChangeEvent];
/** 用户名片变更 */
userNameCardChange: [Array<UserNameCard>];
}
export declare class NIMUser extends EventEmitter<NIMUserEvents> {
user: NIMUserAPI;
constructor(sdk: any);
/** 注册全局回调 */
initEventHandlers(): void;
/** 设置、取消设置黑名单
* @param accid 好友id
* @param set_black 取消或设置
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 419:黑名单数量超过上限
* </pre>
*/
setBlack(accid: string, setBlack: boolean, cb?: SetRelationCallback | null, jsonExtension?: string): Promise<[NIMResCode, string, boolean] | null>;
/** 设置、取消设置静音名单
* @param accid 好友id
* @param set_mute 取消或设置
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 419:静音列表数量超过上限
* </pre>
*/
setMute(accid: string, set_mute: boolean, cb?: SetRelationCallback | null, jsonExtension?: string): Promise<[NIMResCode, string, boolean] | null>;
/** 获得静音名单列表
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* </pre>
*/
getMutelist(cb?: GetSpecialListCallback | null, jsonExtension?: string): Promise<[NIMResCode, Array<BlackMuteListInfo>]>;
/** 获得黑名单名单
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb
* @return void 无返回值
*/
getBlacklist(cb?: GetSpecialListCallback | null, jsonExtension?: string): Promise<[NIMResCode, Array<BlackMuteListInfo>]>;
/** 获取本地的指定帐号的用户名片
* @param accids
* @param cb 操作结果回调
* @param jsonExtension json扩展参数(备用,目前不需要)
* @return void 无返回值
* @note
* <pre>
* 200:成功
* 414:参数错误
* 20000:还未初始化或初始化未正常完成
* 20001:还未登陆或登录未完成
* </pre>
*/
getUserNameCard(accids: Array<string>, cb?: GetUserNameCardCallback | null, jsonExtension?: string): Promise<[Array<UserNameCard>] | null>;
/** 在线查询指定帐号的用户名片
* @param accids
* @param cb 操作结果回调
* @param jsonExtension json扩展参数(备用,目前不需要)
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 414:参数错误
* 20000:还未初始化或初始化未正常完成
* 20001:还未登陆或登录未完成
* </pre>
*/
getUserNameCardOnline(accids: Array<string>, cb?: GetUserNameCardCallback | null, jsonExtension?: string): Promise<[Array<UserNameCard>] | null>;
/** 更新自己的用户名片
* @param namecard 用户名片内容
* @param cb 操作结果回调
* @param jsonExtension json扩展参数(备用,目前不需要)
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 400:非法参数
* </pre>
*/
updateMyUserNameCard(nameCard: UserNameCard, cb?: UpdateMyUserNameCardCallback | null, jsonExtension?: string): Promise<[NIMResCode] | null>;
/** 获取本地的指定帐号的用户名片
* @param keyword 要查询的关键字
* @param cb 操作结果回调
* @param jsonExtension json扩展参数(备用,目前不需要)
* @return boolean 检查参数如果不符合要求则返回失败
*/
queryUserListByKeyword(keyword: string, cb?: GetUserNameCardCallback | null, jsonExtension?: string): Promise<[Array<UserNameCard>] | null>;
/** 更新推送证书
* @param cer_name 云信后台配置的s推送证明名称
* @param token 设备token
* @param type 1: pushkit (仅iOS) 其他 apns 默认填0
* @return void 无返回值
*/
updatePushToken(cerName: string, token: string, type: NINPushType): void;
}