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); console.log(to.path); if(store.state.user.association!=''){ if(typeof (store.state.user.association)=='object'){ var association=store.state.user.association; }else{ var association=JSON.parse(store.state.user.association); } } 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?id=`+association.id?association.id:1); NProgress.done(); } } } else { /* white list router */ if (whiteListRouters.indexOf(to.path) !== -1) { next(); } else { console.log(association); if(typeof (association)!='undefined'){ next(`/login`); }else{ next(`/login`); } } NProgress.done(); } }); router.afterEach(() => { NProgress.done(); });