import Vue from 'vue'; import App from './App.vue'; import router from './router'; import store from './store'; import ElementUI from 'element-ui'; import VueI18n from 'vue-i18n'; import '@/plugins/axios'; import '@/plugins/check-res'; import '@/plugins/meta'; import '@/plugins/filters'; import '@/plugins/loading'; import '@/plugins/var'; import '@/plugins/methods'; import '@/plugins/setting'; import { messages } from './components/common/i18n'; import 'element-ui/lib/theme-chalk/index.css'; // 默认主题 // import './assets/css/theme-green/index.css'; // 浅绿色主题 import './assets/css/icon.css'; import './components/common/directives'; import 'babel-polyfill'; const jwt = require('jsonwebtoken'); Vue.config.productionTip = false; Vue.use(VueI18n); Vue.use(ElementUI, { size: 'small', }); const i18n = new VueI18n({ locale: 'zh', messages, }); //使用钩子函数对路由进行权限跳转 router.beforeEach((to, from, next) => { document.title = `${to.meta.title} `; const token = localStorage.getItem('token'); if (to.path == '/homeIndex') { if (!token) { next('/login'); } else { let user = jwt.decode(token); store.commit('setUser', user, { root: true }); next(); } } else { let user = jwt.decode(token); store.commit('setUser', user, { root: true }); next(); } }); new Vue({ router, store, i18n, render: h => h(App), }).$mount('#app');