import NProgress from 'nprogress'; // progress bar import 'nprogress/nprogress.css'; // progress bar style import store from '@/store'; import router from '@/router'; NProgress.configure({ showSpinner: false }); const whiteListRouters = store.getters['permission/whiteListRouters']; router.beforeEach(async (to, from, next) => { NProgress.start(); document.title = '智慧云商协-'+to.meta.title; const token = localStorage.getItem('associationToken'); console.log(token); console.log(to.path); if (token) { if (to.path === '/login') { next(); return; } const roles = store.getters['user/roles']; console.log(roles); if (roles && roles.length > 0) { next(); } else { try { await store.dispatch('user/getUserInfo'); await store.dispatch('permission/initRoutes', store.getters['user/roles']); next({ ...to }); } catch (error) { await store.commit('user/removeToken'); next(`/login?redirect=${to.path}`); NProgress.done(); } } } else { /* white list router */ if (whiteListRouters.indexOf(to.path) !== -1) { next(); } else { next(`/login`); } NProgress.done(); } }); router.afterEach(() => { NProgress.done(); });