main.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import babelpolyfill from 'babel-polyfill' //可以将es6代码转为es5代码,从而可以在现有环境执行
  2. import Vue from 'vue'
  3. import App from './App'
  4. import ElementUI from 'element-ui' //element-ui插件
  5. //import 'element-ui/lib/theme-default/index.css' //另外的一个主题
  6. import './assets/theme/theme-green/index.css' //更改主题
  7. import VueRouter from 'vue-router' //路由文件
  8. import store from './vuex/store' //状态态管理
  9. import Vuex from 'vuex'
  10. //import NProgress from 'nprogress'
  11. //import 'nprogress/nprogress.css'
  12. import routes from './routes' //路由文件
  13. import Mock from './mock'
  14. Mock.bootstrap();
  15. import 'font-awesome/css/font-awesome.min.css' //引入字体文件
  16. import Api from './api/index.js'; //封装的请求文件
  17. Vue.prototype.$api = Api;
  18. Vue.use(ElementUI)
  19. Vue.use(VueRouter)
  20. Vue.use(Vuex)
  21. //NProgress.configure({ showSpinner: false });
  22. const router = new VueRouter({
  23. routes
  24. })
  25. //路由之间跳转的判断
  26. router.beforeEach((to, from, next) => {
  27. //NProgress.start();
  28. if (to.path == '/login') {
  29. sessionStorage.removeItem('user'); //移除user
  30. sessionStorage.removeItem('authKey'); //移除user
  31. }
  32. let user = JSON.parse(sessionStorage.getItem('user')); //解析出来user
  33. let authKey = JSON.parse(sessionStorage.getItem('authKey'));
  34. // 如果用户不存在并且所去的地方不是登录界面,那么就到登录界面
  35. if (!authKey &&!user && to.path != '/login') {
  36. next({ path: '/login' });
  37. } else {
  38. next();
  39. }
  40. })
  41. //router.afterEach(transition => {
  42. //NProgress.done();
  43. //});
  44. new Vue({
  45. router,
  46. store,
  47. render: h => h(App)
  48. }).$mount('#app')