UNPKG

@58fe/p5

Version:

pc端vue组件

53 lines (49 loc) 1.22 kB
import Vue from 'vue'; import Message from './../../components/message'; const plugin = { install(vue, props = {}) { const MessagePlugin = Vue.extend(Message); let $vm = new MessagePlugin({ el: document.createElement('div') }); document.body.appendChild($vm.$el); const message = { info(content, duration, top) { message.common({ msgtype: 'info', content, duration, top }); }, warning(content, duration) { message.common({ msgtype: 'warning', content, duration, top }); }, success(content, duration) { message.common({ msgtype: 'success', content, duration, top }); }, error(content, duration) { message.common({ msgtype: 'error', content, duration, top }); }, common({ msgtype = null, content = null, duration = null, top = 0 }) { if ($vm.show) return; $vm.msgtype = msgtype; $vm.duration = duration; $vm.content = content; $vm.top = top; $vm.value = true; setTimeout(function() { $vm.value = false; }, duration); } }; if (!vue.$p5) { vue.$p5 = { message }; } else { vue.$p5.message = message; } vue.mixin({ created: function() { this.$p5 = vue.$p5; } }); } }; export default plugin;