node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
194 lines • 6.2 kB
JavaScript
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
;