# Conflicts: # src/views/order/components/billOfLading.vuepull/17/head
						commit
						c7f2b72a55
					
				
				 5 changed files with 204 additions and 99 deletions
			
			
		@ -1,79 +1,79 @@ | 
				
			||||
import router from "./router"; | 
				
			||||
import store from "./store"; | 
				
			||||
import NProgress from "nprogress"; // progress bar
 | 
				
			||||
import "nprogress/nprogress.css"; // progress bar style
 | 
				
			||||
import getPageTitle from "@/utils/get-page-title"; | 
				
			||||
import router from './router' | 
				
			||||
import store from './store' | 
				
			||||
import NProgress from 'nprogress' // progress bar
 | 
				
			||||
import 'nprogress/nprogress.css' // progress bar style
 | 
				
			||||
import getPageTitle from '@/utils/get-page-title' | 
				
			||||
 | 
				
			||||
import Layout from "@/layout"; | 
				
			||||
import Layout from '@/layout' | 
				
			||||
 | 
				
			||||
import serve from "api/login.js"; | 
				
			||||
import serve from 'api/login.js' | 
				
			||||
 | 
				
			||||
NProgress.configure({ showSpinner: false }); // NProgress Configuration
 | 
				
			||||
NProgress.configure({ showSpinner: false }) // NProgress Configuration
 | 
				
			||||
 | 
				
			||||
const whiteList = ["/login"]; // no redirect whitelist
 | 
				
			||||
const whiteList = ['/login'] // no redirect whitelist
 | 
				
			||||
 | 
				
			||||
router.beforeEach(async (to, from, next) => { | 
				
			||||
  NProgress.start(); | 
				
			||||
  document.title = getPageTitle(to.meta.title); | 
				
			||||
  const hasToken = localStorage.getItem("businessToken"); | 
				
			||||
  NProgress.start() | 
				
			||||
  document.title = getPageTitle(to.meta.title) | 
				
			||||
  const hasToken = localStorage.getItem('businessToken') | 
				
			||||
  if (hasToken) { | 
				
			||||
    if (to.path === "/login") { | 
				
			||||
      next({ path: "/" }); | 
				
			||||
      NProgress.done(); | 
				
			||||
    if (to.path === '/login') { | 
				
			||||
      next({ path: '/' }) | 
				
			||||
      NProgress.done() | 
				
			||||
    } else { | 
				
			||||
      const hasAuth = store.getters.auth && store.getters.auth.length; | 
				
			||||
      const hasAuth = store.getters.auth && store.getters.auth.length | 
				
			||||
      if (hasAuth) { | 
				
			||||
        next(); | 
				
			||||
        next() | 
				
			||||
      } else { | 
				
			||||
        try { | 
				
			||||
          // let infoRes = await serve.getUserInfo();
 | 
				
			||||
          // infoRes.data.authList = [1];
 | 
				
			||||
          let infoRes = await serve.info(); | 
				
			||||
          let infoRes = await serve.info() | 
				
			||||
          // infoRes.data.authList = infoRes.authList;
 | 
				
			||||
 | 
				
			||||
          store.dispatch("user/info", infoRes.data); | 
				
			||||
          store.dispatch('user/info', infoRes.data) | 
				
			||||
 | 
				
			||||
          let routerRes = await serve.getCustomerRouters(); | 
				
			||||
          let realRouter = filterAsyncRouter(routerRes.data); | 
				
			||||
          store.dispatch("permission/generateRoutes", realRouter); | 
				
			||||
          router.addRoutes(realRouter); | 
				
			||||
          next({ ...to, replace: true }); | 
				
			||||
          let routerRes = await serve.getCustomerRouters() | 
				
			||||
          let realRouter = filterAsyncRouter(routerRes.data) | 
				
			||||
          store.dispatch('permission/generateRoutes', realRouter) | 
				
			||||
          router.addRoutes(realRouter) | 
				
			||||
          next({ ...to, replace: true }) | 
				
			||||
        } catch (err) { | 
				
			||||
          console.log("catch"); | 
				
			||||
          next("/login"); | 
				
			||||
          NProgress.done(); | 
				
			||||
          console.log('catch') | 
				
			||||
          // next("/login");
 | 
				
			||||
          NProgress.done() | 
				
			||||
        } | 
				
			||||
      } | 
				
			||||
    } | 
				
			||||
  } else { | 
				
			||||
    if (whiteList.includes(to.path)) { | 
				
			||||
      next(); | 
				
			||||
      next() | 
				
			||||
    } else { | 
				
			||||
      next("/login"); | 
				
			||||
      NProgress.done(); | 
				
			||||
      next('/login') | 
				
			||||
      NProgress.done() | 
				
			||||
    } | 
				
			||||
  } | 
				
			||||
}); | 
				
			||||
}) | 
				
			||||
 | 
				
			||||
router.afterEach(() => { | 
				
			||||
  NProgress.done(); | 
				
			||||
}); | 
				
			||||
  NProgress.done() | 
				
			||||
}) | 
				
			||||
 | 
				
			||||
function filterAsyncRouter(routers) { | 
				
			||||
  return routers.map((route) => { | 
				
			||||
  return routers.map(route => { | 
				
			||||
    if (route.component) { | 
				
			||||
      if (route.component === "Layout") { | 
				
			||||
        route.component = Layout; | 
				
			||||
      if (route.component === 'Layout') { | 
				
			||||
        route.component = Layout | 
				
			||||
      } else { | 
				
			||||
        route.component = lazyLoad(route.component); | 
				
			||||
        route.component = lazyLoad(route.component) | 
				
			||||
      } | 
				
			||||
    } | 
				
			||||
    if (route.children && route.children.length) { | 
				
			||||
      route.children = filterAsyncRouter(route.children); | 
				
			||||
      route.children = filterAsyncRouter(route.children) | 
				
			||||
    } | 
				
			||||
    return route; | 
				
			||||
  }); | 
				
			||||
    return route | 
				
			||||
  }) | 
				
			||||
} | 
				
			||||
function lazyLoad(path) { | 
				
			||||
  return (resolve) => require([`@/views/${path}`], resolve); | 
				
			||||
  return resolve => require([`@/views/${path}`], resolve) | 
				
			||||
} | 
				
			||||
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue