main.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import axios from 'axios';
  5. import ElementUI from 'element-ui';
  6. import VueI18n from 'vue-i18n';
  7. import { messages } from './components/common/i18n';
  8. import 'element-ui/lib/theme-chalk/index.css'; // 默认主题
  9. // import '../static/css/theme-green/index.css'; // 浅绿色主题
  10. import './assets/css/icon.css';
  11. import './components/common/directives';
  12. import "babel-polyfill";
  13. Vue.config.productionTip = false
  14. Vue.use(VueI18n);
  15. Vue.use(ElementUI, {
  16. size: 'small'
  17. });
  18. Vue.prototype.$axios = axios;
  19. const i18n = new VueI18n({
  20. locale: 'zh',
  21. messages
  22. })
  23. //使用钩子函数对路由进行权限跳转
  24. router.beforeEach((to, from, next) => {
  25. const role = localStorage.getItem('ms_username');
  26. if (!role && to.path !== '/login') {
  27. next('/login');
  28. } else if (to.meta.permission) {
  29. // 如果是管理员权限则可进入,这里只是简单的模拟管理员权限而已
  30. role === 'admin' ? next() : next('/403');
  31. } else {
  32. // 简单的判断IE10及以下不进入富文本编辑器,该组件不兼容
  33. if (navigator.userAgent.indexOf('MSIE') > -1 && to.path === '/editor') {
  34. Vue.prototype.$alert('vue-quill-editor组件不兼容IE10及以下浏览器,请使用更高版本的浏览器查看', '浏览器不兼容通知', {
  35. confirmButtonText: '确定'
  36. });
  37. } else {
  38. next();
  39. }
  40. }
  41. })
  42. new Vue({
  43. router,
  44. i18n,
  45. render: h => h(App)
  46. }).$mount('#app')