96 lines
2.4 KiB
TypeScript
96 lines
2.4 KiB
TypeScript
|
import {
|
||
|
ElMessage,
|
||
|
ElMessageBox,
|
||
|
ElNotification,
|
||
|
ElLoading,
|
||
|
type ElMessageBoxOptions
|
||
|
} from 'element-plus'
|
||
|
import type { LoadingInstance } from 'element-plus/es/components/loading/src/loading'
|
||
|
|
||
|
export class Feedback {
|
||
|
private loadingInstance: LoadingInstance | null = null
|
||
|
static instance: Feedback | null = null
|
||
|
static getInstance() {
|
||
|
return this.instance ?? (this.instance = new Feedback())
|
||
|
}
|
||
|
// 消息提示
|
||
|
msg(msg: string) {
|
||
|
ElMessage.info(msg)
|
||
|
}
|
||
|
// 错误消息
|
||
|
msgError(msg: string) {
|
||
|
ElMessage.error(msg)
|
||
|
}
|
||
|
// 成功消息
|
||
|
msgSuccess(msg: string) {
|
||
|
ElMessage.success(msg)
|
||
|
}
|
||
|
// 警告消息
|
||
|
msgWarning(msg: string) {
|
||
|
ElMessage.warning(msg)
|
||
|
}
|
||
|
// 弹出提示
|
||
|
alert(msg: string) {
|
||
|
ElMessageBox.alert(msg, '系统提示')
|
||
|
}
|
||
|
// 错误提示
|
||
|
alertError(msg: string) {
|
||
|
ElMessageBox.alert(msg, '系统提示', { type: 'error' })
|
||
|
}
|
||
|
// 成功提示
|
||
|
alertSuccess(msg: string) {
|
||
|
ElMessageBox.alert(msg, '系统提示', { type: 'success' })
|
||
|
}
|
||
|
// 警告提示
|
||
|
alertWarning(msg: string) {
|
||
|
ElMessageBox.alert(msg, '系统提示', { type: 'warning' })
|
||
|
}
|
||
|
// 通知提示
|
||
|
notify(msg: string) {
|
||
|
ElNotification.info(msg)
|
||
|
}
|
||
|
// 错误通知
|
||
|
notifyError(msg: string) {
|
||
|
ElNotification.error(msg)
|
||
|
}
|
||
|
// 成功通知
|
||
|
notifySuccess(msg: string) {
|
||
|
ElNotification.success(msg)
|
||
|
}
|
||
|
// 警告通知
|
||
|
notifyWarning(msg: string) {
|
||
|
ElNotification.warning(msg)
|
||
|
}
|
||
|
// 确认窗体
|
||
|
confirm(msg: string) {
|
||
|
return ElMessageBox.confirm(msg, '温馨提示', {
|
||
|
confirmButtonText: '确定',
|
||
|
cancelButtonText: '取消',
|
||
|
type: 'warning'
|
||
|
})
|
||
|
}
|
||
|
// 提交内容
|
||
|
prompt(content: string, title: string, options?: ElMessageBoxOptions) {
|
||
|
return ElMessageBox.prompt(content, title, {
|
||
|
confirmButtonText: '确定',
|
||
|
cancelButtonText: '取消',
|
||
|
...options
|
||
|
})
|
||
|
}
|
||
|
// 打开全局loading
|
||
|
loading(msg: string) {
|
||
|
this.loadingInstance = ElLoading.service({
|
||
|
lock: true,
|
||
|
text: msg
|
||
|
})
|
||
|
}
|
||
|
// 关闭全局loading
|
||
|
closeLoading() {
|
||
|
this.loadingInstance?.close()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const feedback = Feedback.getInstance()
|
||
|
|
||
|
export default feedback
|