import router from './index' import { VueRouterBeforeEachPermission } from '@apct/utils/dist/common/PermissionFactory' import NProgress from 'nprogress' import 'nprogress/nprogress.css' import { setTenantCode, getToken, setToken, getTenantInfo } from '@/utils/auth' import { Socket } from '@/utils/ws' const TITLE = getTenantInfo().tenantName || '' NProgress.configure({ showSpinner: false }) const whiteRoute = ['/login'] router.beforeEach( new VueRouterBeforeEachPermission(whiteRoute) .push(({ to }) => { NProgress.start() // document.title = to.meta.title ? `${TITLE} - ${to.meta.title}` : TITLE return true }) .useAutoSignIn((token) => { setToken(token) return true }) .useUnauthorized(() => { const res = Boolean(getToken()) if (res) { Socket.start() } return res }) .createGuard() ) router.afterEach(() => NProgress.done())