| /* | 
|  * @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; |