星油H5
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

46 lines
1.2 KiB

import router from './router'
import useStore from './store/piniaIndex'
import { obtainUrlPathParameterTarget } from '@/utils/index.js'
import { getToken, removeToken } from '@/utils/auth'
import { Notify } from 'vant'
router.beforeEach(async (to, from, next) => {
//pinia挂载顺序问题异步处理路由拦截
setTimeout(() => {
let store = useStore() //获取状态
let token = getToken() //获取cookie
// removeToken()
// store.getPosition()
if (!token) {
let paramsTarget = obtainUrlPathParameterTarget(location.href)
console.log('paramsTarget', paramsTarget)
sessionStorage.setItem('paramsTarget', JSON.stringify(paramsTarget))
store.login(paramsTarget).then(() => {
next()
})
return
}
if (!store.user) {
store.getUser()
}
//检测到没有token直接登录
// if (!token) {
// if (typeof data == 'object' && data?.accessToken) {
// store.login(data)
// }
// }
//拦截 如果不是去首页 还没有token直接去首页
if (to.path !== '/' && !token) {
Notify('请检查登陆状态')
next({ path: '/' })
} else {
next()
}
}, 0)
})
router.afterEach(() => {})