import { ElMessage as Message } from 'element-plus' const showMessage = Symbol('showMessage') class OnlyMessage { success(options) { this[showMessage]('success', options) } warning(options) { this[showMessage]('warning', options) } info(options) { this[showMessage]('info', options) } error(options) { this[showMessage]('error', options) } [showMessage](type, options) { // 是否显示单个消息 if (options.single) { let els = document.getElementsByClassName('el-message') if (!els.length) return Message[type](options) let list = Array.from(els) let hasMessageBoxShowList = list.filter((node: HTMLElement) => node.style.display !== 'none') if (hasMessageBoxShowList.length === 0) { Message[type](options) } } else { Message[type](options) } } } export default new OnlyMessage()