/*
|
* @Author: daidai
|
* @Date: 2022-02-16 17:08:26
|
* @LastEditors: Please set LastEditors
|
* @LastEditTime: 2022-04-25 10:12:36
|
* @FilePath: \yhht-ui\yhht-ui\packagesEle\getXY\src\main.js
|
*/
|
import Vue from 'vue';
|
import Main from './message.vue';
|
import {isObject,isVNode} from '@/lib/types'
|
let Message = Vue.extend(Main);
|
let instance;
|
var message = function (options) {
|
if (Vue.prototype.$isServer) return;
|
if(!instance){
|
instance = new Message({
|
data: {
|
...options
|
},
|
|
});
|
instance.$mount();
|
}
|
instance.destroy=()=>{
|
document.body.removeChild(instance.$el);
|
instance&&instance.$destroy()
|
instance=null
|
return null
|
}
|
instance.init(options)
|
document.body.appendChild(instance.$el);
|
return instance;
|
};
|
['success', 'warning', 'info', 'error'].forEach(type => {
|
message[type] = (options) => {
|
if (isObject(options) && !isVNode(options)) {
|
return message({
|
...options,
|
type
|
});
|
}
|
return message({
|
type,
|
text: options
|
});
|
};
|
});
|
|
export default message;
|