node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
86 lines (85 loc) • 3.61 kB
TypeScript
import { NIMResCode } from './client_def';
/** @enum NIMUserSpecialRelationshipChangeType 用户特殊关系数据变更类型 */
export declare enum NIMUserSpecialRelationshipChangeType {
/** 添加删除黑名单 */
kNIMUserSpecialRelationshipChangeTypeMarkBlack = 1,
/** 添加删除静音名单 */
kNIMUserSpecialRelationshipChangeTypeMarkMute = 2,
/** 同步黑名单和静音名单 */
kNIMUserSpecialRelationshipChangeTypeSyncMuteAndBlackList = 3
}
/** @enum NIMUserQueryType 查询用户信息条件选项 */
export declare enum NIMUserQueryType {
/** 查询默认条件,将匹配账户ID和昵称 */
kNIMUserQueryDefault = 0,
/** 仅匹配账户ID */
kNIMUserQueryByAccId = 1,
/** 仅匹配用户昵称 */
kNIMUserQueryByNickname = 2
}
export declare enum NINPushType {
/** 默认apns */
kNIMPushTypeDefault = 0,
/** pushkit,仅iOS */
kNIMPushTypePushKit = 1
}
export interface BlackMuteListInfo {
/** 用户ID */
accid_?: string;
/** 是否黑名单 */
set_black_?: boolean;
/** 是否被静音 */
set_mute_?: boolean;
/** 档案创建时间(毫秒) */
create_timetag_?: number;
/** 档案更新时间(毫秒) */
update_timetag_?: number;
}
export interface UserNameCard {
/** 用户ID */
accid?: string;
/** 用户昵称 */
name?: string;
/** 用户头像下载地址 */
icon?: string;
/** 用户签名 */
sign?: string;
/** 用户性别 */
gender?: number;
/** 用户邮箱 */
email?: string;
/** 用户生日 */
birth?: string;
/** 用户电话 */
mobile?: string;
/** 用户扩展数据 */
ex?: string;
/** 用户档案创建时间戳(毫秒) */
create_timetag?: number;
/** 用户档案更新时间戳(毫秒) */
update_timetag?: number;
}
export interface SpecialRelationshipChangeEvent {
/** 黑名单/静音名单更新事件类型 */
type_?: NIMUserSpecialRelationshipChangeType;
/** 黑名单/静音名单更新事件内容 */
content_?: object;
}
export type SpecialRelationshipChangedCallback = (result: SpecialRelationshipChangeEvent) => void;
export type UserNameCardChangedCallback = (result: Array<UserNameCard>) => void;
export type SetRelationCallback = (rescode: NIMResCode, accid: string, setOpt: boolean) => void;
export type GetSpecialListCallback = (rescode: NIMResCode, result: Array<BlackMuteListInfo>) => void;
export type GetUserNameCardCallback = (result: Array<UserNameCard>) => void;
export type UpdateMyUserNameCardCallback = (rescode: NIMResCode) => void;
export interface NIMUserAPI {
InitEventHandlers(): void;
SetBlack(accid: string, setBlack: boolean, cb: SetRelationCallback | null, jsonExtension: string): boolean;
SetMute(accid: string, set_mute: boolean, cb: SetRelationCallback | null, jsonExtension: string): boolean;
GetMutelist(cb: GetSpecialListCallback | null, jsonExtension: string): void;
GetBlacklist(cb: GetSpecialListCallback | null, jsonExtension: string): void;
GetUserNameCard(accids: Array<string>, cb: GetUserNameCardCallback | null, jsonExtension: string): boolean;
GetUserNameCardOnline(accids: Array<string>, cb: GetUserNameCardCallback | null, jsonExtension: string): boolean;
UpdateMyUserNameCard(nameCard: UserNameCard, cb: UpdateMyUserNameCardCallback | null, jsonExtension: string): boolean;
QueryUserListByKeyword(keyword: string, cb: GetUserNameCardCallback | null, jsonExtension: string): boolean;
UpdatePushToken(cerName: string, token: string, type: NINPushType): void;
}