UNPKG

node-nim

Version:

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

171 lines 5.25 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.V2NIMUserService = void 0; const loader_1 = __importDefault(require("../loader")); const eventemitter3_1 = require("eventemitter3"); /** @brief 用户资料服务 */ class V2NIMUserService extends eventemitter3_1.EventEmitter { constructor() { super(); this.instance = new loader_1.default.V2NIMUserService({ emit: this.emit.bind(this) }); } /** * @brief 根据用户账号列表获取用户资料 * @param accountIds 用户账号列表 * @returns void * @example * ```javascript * const users = await v2.userService.getUserList(accountIds) * ``` */ getUserList(accountIds) { return new Promise((resolve, reject) => { this.instance.getUserList(accountIds, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 更新自己的用户资料 * @param updateParams 更新参数 * @returns void * @example * ```javascript * await v2.userService.updateSelfUserProfile(updateParams) * ``` */ updateSelfUserProfile(updateParams) { return new Promise((resolve, reject) => { this.instance.updateSelfUserProfile(updateParams, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 添加用户到黑名单中 * @param accountId 用户账号 * @returns void * @example * ```javascript * await v2.userService.addUserToBlockList(accountId) * ``` */ addUserToBlockList(accountId) { return new Promise((resolve, reject) => { this.instance.addUserToBlockList(accountId, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 从黑名单中移除用户 * @param accountId 用户账号 * @returns void * @example * ```javascript * await v2.userService.removeUserFromBlockList(accountId) * ``` */ removeUserFromBlockList(accountId) { return new Promise((resolve, reject) => { this.instance.removeUserFromBlockList(accountId, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 获取黑名单列表 * @returns void * @example * ```javascript * const blockList = await v2.userService.getBlockList() * ``` */ getBlockList() { return new Promise((resolve, reject) => { this.instance.getBlockList((result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 根据用户账号列表从服务器获取用户资料, 主要使用 getUserList ,只有强制需要拉取最新用户信息才需要使用该接口 * @param accountIds 用户账号列表 * @returns void * @example * ```javascript * const users = await v2.userService.getUserListFromCloud(accountIds) * ``` */ getUserListFromCloud(accountIds) { return new Promise((resolve, reject) => { this.instance.getUserListFromCloud(accountIds, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 根据关键字搜索好友信息 * @param option 搜索选项 @see V2NIMUserSearchOption * @returns Promise<Array<V2NIMUser>> * @example * ```javascript * const users = await v2.userService.searchUserByOption({ * keyword: 'Alice', * searchName: true * }) * ``` */ searchUserByOption(option) { return new Promise((resolve, reject) => { let defaultOption = { searchName: true, searchAccountId: false, searchMobile: false }; let mergedOption = Object.assign({}, defaultOption, option); this.instance.searchUserByOption(mergedOption, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @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) { return new Promise((resolve, reject) => { this.instance.checkBlock(accountIds, (result) => { resolve(result); }, (error) => { reject(error); }); }); } } exports.V2NIMUserService = V2NIMUserService; //# sourceMappingURL=v2_nim_user_service.js.map