hi-ucs/front/src/vab/plugins/permissions.js

61 lines
1.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @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)
})