import router from './router' import { isPathMatch } from '@utils/validate' import { Session } from '@renderer/utils/storage' // 白名单 const whiteList = ['/login', '/register'] const isWhiteList = (path: string) => whiteList.some(pattern => isPathMatch(pattern, path)) router.beforeEach((to: any, _from: any, next: any) => { if(Session.getToken()) { // has token if (to.path === '/login') { next({path: '/home'}) } else if (isWhiteList(to.path)) { next() } else { next() } } else { // no token if (isWhiteList(to.path)) { // 在免登录白名单,直接进入 next() } else { next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 } } })