import Vue from 'vue'; import App from '@/App.vue'; import router from '@/router'; import ElementUI from 'element-ui'; import '@/styles/index.scss' import VueI18n from 'vue-i18n'; import mixinApp from '@/mixins/app'; import { messages } from '@/i18n'; import 'babel-polyfill'; import '@/libs/resize'; import {post,get,del,put} from '@/plugins/requests/index.js'; import api from '@/api'; import store from '@/store' import Setting from '@/setting'; import permission from '@/router/permission'; // 插件 import plugins from '@/plugins'; import filters from '@/plugins/filters' Vue.directive('focus', {/* 聚焦事件 */ inserted: function (el, binding) { if (el.parentNode.querySelector('input').disabled === false) { el.parentNode.querySelector('input').focus() } } }) Vue.directive('throttle', {/* 节流 */ inserted: function (el, binding) { el.addEventListener('click', () => { if (!el.disabled) { el.disabled = true setTimeout(() => { el.disabled = false }, binding.value || 3000) } }) } }); Vue.use(plugins); Object.keys(filters).forEach(item => Vue.filter(item,filters[item])) Vue.prototype.api = api; Vue.prototype.$get = get; Vue.prototype.$post = post; Vue.prototype.$del = del; Vue.prototype.$put = put; Vue.config.productionTip = false; Vue.use(VueI18n); Vue.use(ElementUI); const i18n = new VueI18n({ locale: Setting.i18n.default, messages }); new Vue({ mixins: [mixinApp], router, i18n, store, render: h => h(App) }).$mount('#app');