/* * @Author: hisense.wuhongjian * @Date: 2022-04-01 17:23:11 * @LastEditors: Light * @LastEditTime: 2022-10-17 09:25:32 * @Description: 告诉大家这是什么 */ /** * @author chuzhixin 1204505056@qq.com * @description 路由守卫,目前两种模式:all模式与intelligence模式 */ import router from '@/router' import store from '@/store' import getPageTitle from '@/utils/pageTitle' import { getUserInfo } from '@/api/user' import { // authentication, loginInterception, // recordRoute, routesWhiteList, } from '@/config' import { setAccessToken, getAccessToken } from '@/utils/accessToken' router.beforeEach(async (to, from, next) => { // debugger // const SSOTOKEN = to.query.SSOToken // if (SSOTOKEN) { // setAccessToken(SSOTOKEN) // } const token = getAccessToken() console.log('token', token) let hasToken = token // debugger if (!loginInterception) hasToken = true console.log('hasToken存在巨大问题', hasToken) if (hasToken) { // setAccessToken(hasToken) await store.dispatch('user/getUserInfo') // debugger next() } else { let accessRoutes = [] accessRoutes = await store.dispatch('routes/setRoutes') accessRoutes.forEach((item) => { router.addRoute(item) }) console.log('验证白名单', routesWhiteList) if (routesWhiteList.indexOf(to.path) !== -1) { next() } else { // 这里是一个单点登录的入口 if (to.query.redict) getUserInfo(to.query.redict) else { getUserInfo() } } } }) router.afterEach((to) => { document.title = getPageTitle(to.meta.title) })