main.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* 项目启动 */
  2. import Vue from 'vue'
  3. import App from './App.vue'
  4. import ElementUI from 'element-ui';
  5. import 'element-ui/lib/theme-chalk/index.css';
  6. import VueRouter from 'vue-router';
  7. import routes from './routes.js';
  8. import axios from 'axios'
  9. import qs from 'qs';
  10. import utils from '@api/utils.js';
  11. import Crumbs from '@components/common/Crumbs.vue';
  12. Vue.config.productionTip = false;
  13. Vue.prototype.axios = axios;
  14. Vue.prototype.qs = qs;
  15. Vue.use(VueRouter);
  16. Vue.use(ElementUI);
  17. const router = new VueRouter({
  18. routes
  19. });
  20. //全局注册组件
  21. Vue.component('crumbs', Crumbs);
  22. //全局设置,导航进入前验证是否登录,否则跳转到登录
  23. router.beforeEach((to, from, next) => {
  24. if (to.meta.requireAuth) { //进入非登录/注册页时需要验证
  25. const tokenStr = localStorage.getItem('token');
  26. const tokenInfo = utils.isJsonStr(tokenStr) && JSON.parse(tokenStr);
  27. if (tokenInfo) {
  28. next();
  29. } else {
  30. next('/');
  31. }
  32. } else {
  33. next();
  34. }
  35. });
  36. new Vue({
  37. router,
  38. render: h => h(App)
  39. }).$mount('#app');