UNPKG

node-nim

Version:

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

194 lines 6.2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.V2NIMSettingService = void 0; const loader_1 = __importDefault(require("../loader")); const eventemitter3_1 = require("eventemitter3"); /** @brief 设置服务 */ class V2NIMSettingService extends eventemitter3_1.EventEmitter { constructor() { super(); this.instance = new loader_1.default.V2NIMSettingService({ emit: this.emit.bind(this) }); } /** * @brief 获取会话消息免打扰状态 * @param conversationId 会话 ID * @returns boolean 会话消息免打扰状态 * @example * ```javascript * const status = v2.settingService.getConversationMuteStatus(conversationId) * ``` */ getConversationMuteStatus(conversationId) { return this.instance.getConversationMuteStatus(conversationId); } /** * @brief 设置群消息免打扰模式 * @param teamId 群组 ID * @param teamType 群组类型 * @param muteMode 免打扰模式 * @returns void * @example * ```javascript * await v2.settingService.setTeamMessageMuteMode(teamId, teamType, muteMode) * ``` */ setTeamMessageMuteMode(teamId, teamType, muteMode) { return new Promise((resolve, reject) => { this.instance.setTeamMessageMuteMode(teamId, teamType, muteMode, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 获取群消息免打扰模式 * @param teamId 群组 ID * @param teamType 群组类型 * @returns V2NIMTeamMessageMuteMode 群消息免打扰模式 * @example * ```javascript * const muteMode = v2.settingService.getTeamMessageMuteMode(teamId, teamType) * ``` */ getTeamMessageMuteMode(teamId, teamType) { return this.instance.getTeamMessageMuteMode(teamId, teamType); } /** * @brief 获取我所在的所有群消息免打扰模式 * @param teamType 群组类型 * @returns Map<string, V2NIMTeamMessageMuteMode> 所有群消息免打扰模式 * @since v10.9.0 * @example * ```javascript * const muteModeList = await v2.settingService.getAllTeamMessageMuteMode(teamType) * ``` */ getAllTeamMessageMuteMode(teamType) { return new Promise((resolve, reject) => { this.instance.getAllTeamMessageMuteMode(teamType, (muteModeList) => { resolve(muteModeList); }, (error) => { reject(error); }); }); } /** * @brief 设置点对点消息免打扰模式 * @param accountId 账号 * @param muteMode 免打扰模式 * @returns void * @example * ```javascript * await v2.settingService.setP2PMessageMuteMode(accountId, muteMode) * ``` */ setP2PMessageMuteMode(accountId, muteMode) { return new Promise((resolve, reject) => { this.instance.setP2PMessageMuteMode(accountId, muteMode, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 获取点对点消息免打扰模式 * @param accountId 账号 * @returns V2NIMP2PMessageMuteMode 点对点消息免打扰模式 * @example * ```javascript * const muteMode = v2.settingService.getP2PMessageMuteMode(accountId) * ``` */ getP2PMessageMuteMode(accountId) { return this.instance.getP2PMessageMuteMode(accountId); } /** * @brief 获取点对点消息免打扰列表 * @returns Array<string> 点对点消息免打扰列表 * @example * ```javascript * const muteList = await v2.settingService.getP2PMessageMuteList() * ``` */ getP2PMessageMuteList() { return new Promise((resolve, reject) => { this.instance.getP2PMessageMuteList((result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 设置当桌面端在线时, 移动端是否需要推送 * @param need 是否需要推送 * @returns void * @example * ```javascript * await v2.settingService.setPushMobileOnDesktopOnline(need) * ``` */ setPushMobileOnDesktopOnline(need) { return new Promise((resolve, reject) => { this.instance.setPushMobileOnDesktopOnline(need, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 获取当桌面端在线时, 移动端是否需要推送 * @returns Promise<boolean> 是否需要推送 * @since v10.9.0 * @example * ```javascript * const need = await v2.settingService.getPushMobileOnDesktopOnline() * ``` */ getPushMobileOnDesktopOnline() { return new Promise((resolve, reject) => { this.instance.getPushMobileOnDesktopOnline((need) => { resolve(need); }, (error) => { reject(error); }); }); } /** * @brief 设置免打扰与详情显示 * @param config 免打扰配置 * @returns void * @example * ```javascript * await v2.settingService.setDndConfig(config) * ``` */ setDndConfig(config) { return new Promise((resolve, reject) => { this.instance.setDndConfig(config, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 读取免打扰与详情显示接口 * @returns V2NIMDndConfig 免打扰配置 * @example * ```javascript * const config = v2.settingService.getDndConfig() * ``` */ getDndConfig() { return this.instance.getDndConfig(); } } exports.V2NIMSettingService = V2NIMSettingService; //# sourceMappingURL=v2_nim_setting_service.js.map