UNPKG

node-nim

Version:

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

302 lines 8.65 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.V2NIMFriendService = void 0; const loader_1 = __importDefault(require("../loader")); const eventemitter3_1 = require("eventemitter3"); /** @brief 好友服务 */ class V2NIMFriendService extends eventemitter3_1.EventEmitter { constructor() { super(); this.instance = new loader_1.default.V2NIMFriendService({ emit: this.emit.bind(this) }); } /** * @brief 添加好友 * @param accountId 账号 ID * @param params 添加好友参数 * @returns void * @example * ```javascript * await v2.friendService.addFriend('accountId', { * addMode: 1 * }) * ``` */ addFriend(accountId, params) { return new Promise((resolve, reject) => { this.instance.addFriend(accountId, params, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 删除好友 * @param accountId 账号 ID * @param params 删除好友参数 * @returns void * @example * ```javascript * await v2.friendService.deleteFriend('accountId', { * deleteAlias: true * }) * ``` */ deleteFriend(accountId, params) { return new Promise((resolve, reject) => { this.instance.deleteFriend(accountId, params, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 接受好友申请 * @param application 好友申请 * @returns void * @example * ```javascript * await v2.friendService.acceptAddApplication(application) * ``` */ acceptAddApplication(application) { return new Promise((resolve, reject) => { this.instance.acceptAddApplication(application, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 拒绝好友申请 * @param application 好友申请 * @param postscript 拒绝理由 * @returns void * @example * ```javascript * await v2.friendService.rejectAddApplication(application, 'reason') * ``` */ rejectAddApplication(application, postscript) { return new Promise((resolve, reject) => { this.instance.rejectAddApplication(application, postscript, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 设置好友信息 * @param accountId 账号 ID * @param params 设置好友信息参数 * @returns void * @example * ```javascript * await v2.friendService.setFriendInfo('accountId', { * alias: 'alias' * }) * ``` */ setFriendInfo(accountId, params) { return new Promise((resolve, reject) => { this.instance.setFriendInfo(accountId, params, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 获取好友列表 * @returns void * @example * ```javascript * await v2.friendService.getFriendList() * ``` */ getFriendList() { return new Promise((resolve, reject) => { this.instance.getFriendList((result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 根据账号 ID 获取好友信息 * @param accountIds 账号 ID 列表 * @returns void * @example * ```javascript * await v2.friendService.getFriendByIds(['accountId1', 'accountId2']) * ``` */ getFriendByIds(accountIds) { return new Promise((resolve, reject) => { this.instance.getFriendByIds(accountIds, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 根据账号 ID 检查好友状态 * @param accountIds 账号 ID 列表 * @returns void * @example * ```javascript * await v2.friendService.checkFriend(['accountId1', 'accountId2']) * ``` */ checkFriend(accountIds) { return new Promise((resolve, reject) => { this.instance.checkFriend(accountIds, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 获取申请添加好友信息列表 * @param option 查询申请添加好友相关信息参数 * @returns void * @example * ```javascript * await v2.friendService.getAddApplicationList({ * offset: 0, * limit: 10 * }) * ``` */ getAddApplicationList(option) { return new Promise((resolve, reject) => { this.instance.getAddApplicationList(option, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 获取申请添加好友未读数量 * @returns void * @example * ```javascript * await v2.friendService.getAddApplicationUnreadCount() * ``` */ getAddApplicationUnreadCount() { return new Promise((resolve, reject) => { this.instance.getAddApplicationUnreadCount((result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 设置所有申请添加好友已读 * @returns void * @example * ```javascript * await v2.friendService.setAddApplicationRead() * ``` */ setAddApplicationRead() { return new Promise((resolve, reject) => { this.instance.setAddApplicationRead(() => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 设置单条申请添加好友已读 * @returns void * @example * ```javascript * await v2.friendService.setAddApplicationReadEx(application) * ``` */ setAddApplicationReadEx(application) { return new Promise((resolve, reject) => { this.instance.setAddApplicationReadEx(application, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 根据关键字搜索用户信息 * @param option 搜索选项 @see V2NIMFriendSearchOption * @returns Promise<Array<V2NIMFriend>> * @example * ```javascript * await v2.friendService.searchFriendByOption({ * keyword: 'keyword' * }) * ``` */ searchFriendByOption(option) { return new Promise((resolve, reject) => { let defaultOption = { searchAlias: true, searchAccountId: false }; let mergedOption = Object.assign({}, defaultOption, option); this.instance.searchFriendByOption(mergedOption, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 清空所有添加好友申请 * @returns Promise<void> * @example * ```javascript * await v2.friendService.clearAllAddApplication() * ``` */ clearAllAddApplication() { return new Promise((resolve, reject) => { this.instance.clearAllAddApplication(() => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 删除添加好友申请 * @param application 添加好友申请 * @returns Promise<void> * @example * ```javascript * await v2.friendService.deleteAddApplication(application) * ``` */ deleteAddApplication(application) { return new Promise((resolve, reject) => { this.instance.deleteAddApplication(application, () => { resolve(); }, (error) => { reject(error); }); }); } } exports.V2NIMFriendService = V2NIMFriendService; //# sourceMappingURL=v2_nim_friend_service.js.map