/* * @Author: hisense.wuhongjian * @Date: 2022-04-01 17:23:11 * @LastEditors: hisense.wuhongjian * @LastEditTime: 2022-07-11 16:39:36 * @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 || store.getters['user/accessToken'] // 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) }) if (routesWhiteList.indexOf(to.path) !== -1) { next() } else { // 这里是一个单点登录的入口 getUserInfo().then(res=>{ console.log(res) router.replace('/home') }) // await store.dispatch('user/getUserInfo') // next() // if (recordRoute) // next({ path: '/login', query: { redirect: to.path }, replace: true }) // else next({ path: '/login', replace: true }) // next() // window.open('http://www.baidu.com', '_self') } } }) router.afterEach((to) => { document.title = getPageTitle(to.meta.title) })