main.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import babelpolyfill from 'babel-polyfill'
  2. import Vue from 'vue'
  3. import App from './App'
  4. import VueRouter from 'vue-router'
  5. import ElementUI from 'element-ui'
  6. import 'element-ui/lib/theme-chalk/index.css'
  7. //import 'element-ui/lib/theme-default/index.css'
  8. //import './assets/theme/theme-green/index.css'
  9. import store from './vuex/store'
  10. import Vuex from 'vuex'
  11. //import NProgress from 'nprogress'
  12. //import 'nprogress/nprogress.css'
  13. import routes from './routes'
  14. // import Mock from './mock'
  15. // Mock.bootstrap();
  16. import http from './http'
  17. Vue.prototype.http = http
  18. import port from './port'
  19. Vue.prototype.port = port
  20. import 'font-awesome/css/font-awesome.min.css'
  21. import './assets/iconfont/iconfont.css'
  22. Vue.use(ElementUI)
  23. Vue.use(VueRouter)
  24. Vue.use(Vuex)
  25. //NProgress.configure({ showSpinner: false });
  26. const router = new VueRouter({
  27. routes
  28. })
  29. router.beforeEach((to, from, next) => {
  30. //NProgress.start();
  31. if (to.path == '/login') {
  32. sessionStorage.removeItem('user');
  33. }
  34. let user = JSON.parse(sessionStorage.getItem('user'));
  35. if (!user && to.path != '/login') {
  36. next({ path: '/login' })
  37. } else {
  38. for(var i in routes){
  39. if(user){
  40. if(routes[i].name == "基础管理" && user.username != "管理员"){
  41. routes.splice(i, 1)
  42. }
  43. }
  44. }
  45. next()
  46. }
  47. })
  48. // router.afterEach(transition => {
  49. // NProgress.done();
  50. // });
  51. new Vue({
  52. //el: '#app',
  53. //template: '<App/>',
  54. router,
  55. store,
  56. //components: { App }
  57. render: h => h(App)
  58. }).$mount('#app')