UNPKG

node-nim

Version:

NetEase IM nodejs wrapper based on NetEase IM C++ SDK

202 lines 6.74 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NIMUser = void 0; const loader_1 = __importDefault(require("../loader")); const eventemitter3_1 = require("eventemitter3"); class NIMUser extends eventemitter3_1.EventEmitter { constructor() { super(); this.user = new loader_1.default.NIMUser({ emit: this.emit.bind(this) }); } /** 注册全局回调 */ initEventHandlers() { return this.user.InitEventHandlers(); } /** 设置、取消设置黑名单 * @param accid 好友id * @param set_black 取消或设置 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 419:黑名单数量超过上限 * </pre> */ setBlack(accid, setBlack, cb, jsonExtension) { return new Promise((resolve) => { if (!this.user.SetBlack(accid, setBlack, (rescode, accid, setOpt) => { if (cb) { cb(rescode, accid, setOpt); } resolve([rescode, accid, setOpt]); }, jsonExtension)) { resolve(null); } }); } /** 设置、取消设置静音名单 * @param accid 好友id * @param set_mute 取消或设置 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 419:静音列表数量超过上限 * </pre> */ setMute(accid, set_mute, cb, jsonExtension) { return new Promise((resolve) => { if (!this.user.SetMute(accid, set_mute, (rescode, accid, setOpt) => { if (cb) { cb(rescode, accid, setOpt); } resolve([rescode, accid, setOpt]); }, jsonExtension)) { resolve(null); } }); } /** 获得静音名单列表 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * </pre> */ getMutelist(cb, jsonExtension) { return new Promise((resolve) => { this.user.GetMutelist((rescode, mutelist) => { if (cb) { cb(rescode, mutelist); } resolve([rescode, mutelist]); }, jsonExtension); }); } /** 获得黑名单名单 * @param jsonExtension json扩展参数(备用,目前不需要) * @param cb * @return void 无返回值 */ getBlacklist(cb, jsonExtension) { return new Promise((resolve) => { this.user.GetBlacklist((rescode, blacklist) => { if (cb) { cb(rescode, blacklist); } resolve([rescode, blacklist]); }, jsonExtension); }); } /** 获取本地的指定帐号的用户名片 * @param accids * @param cb 操作结果回调 * @param jsonExtension json扩展参数(备用,目前不需要) * @return void 无返回值 * @note * <pre> * 200:成功 * 414:参数错误 * 20000:还未初始化或初始化未正常完成 * 20001:还未登陆或登录未完成 * </pre> */ getUserNameCard(accids, cb, jsonExtension) { return new Promise((resolve) => { if (!this.user.GetUserNameCard(accids, (userNameCard) => { if (cb) { cb(userNameCard); } resolve([userNameCard]); }, jsonExtension)) { resolve(null); } }); } /** 在线查询指定帐号的用户名片 * @param accids * @param cb 操作结果回调 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 414:参数错误 * 20000:还未初始化或初始化未正常完成 * 20001:还未登陆或登录未完成 * </pre> */ getUserNameCardOnline(accids, cb, jsonExtension) { return new Promise((resolve) => { if (!this.user.GetUserNameCardOnline(accids, (userNameCard) => { if (cb) { cb(userNameCard); } resolve([userNameCard]); }, jsonExtension)) { resolve(null); } }); } /** 更新自己的用户名片 * @param namecard 用户名片内容 * @param cb 操作结果回调 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 * @note * <pre> * 200:成功 * 400:非法参数 * </pre> */ updateMyUserNameCard(nameCard, cb, jsonExtension) { return new Promise((resolve) => { if (!this.user.UpdateMyUserNameCard(nameCard, (rescode) => { if (cb) { cb(rescode); } resolve([rescode]); }, jsonExtension)) { resolve(null); } }); } /** 获取本地的指定帐号的用户名片 * @param keyword 要查询的关键字 * @param cb 操作结果回调 * @param jsonExtension json扩展参数(备用,目前不需要) * @return boolean 检查参数如果不符合要求则返回失败 */ queryUserListByKeyword(keyword, cb, jsonExtension) { return new Promise((resolve) => { if (!this.user.QueryUserListByKeyword(keyword, (userNameCard) => { if (cb) { cb(userNameCard); } resolve([userNameCard]); }, jsonExtension)) { resolve(null); } }); } /** 更新推送证书 * @param cer_name 云信后台配置的s推送证明名称 * @param token 设备token * @param type 1: pushkit (仅iOS) 其他 apns 默认填0 * @return void 无返回值 */ updatePushToken(cerName, token, type) { return this.user.UpdatePushToken(cerName, token, type); } } exports.NIMUser = NIMUser; //# sourceMappingURL=user.js.map