fix(router): 修复导航守卫中用户存储未正确初始化的问题
在导航守卫中,`ab98UserStore` 的初始化位置被移动到需要的地方,以确保在检查登录状态时已正确初始化。此外,在 `App.vue` 中,增加了对 `token` 的非空检查,避免在 `token` 为空时执行不必要的操作。
This commit is contained in:
parent
55ba35230e
commit
6e5a076d81
24
src/App.vue
24
src/App.vue
|
@ -38,18 +38,20 @@ onMounted(() => {
|
|||
|
||||
if (state && state.indexOf('token') !== -1) {
|
||||
const token = state.split('token_')[1];
|
||||
ab98UserStore.setTokenLogin(token);
|
||||
if (token) {
|
||||
ab98UserStore.setTokenLogin(token);
|
||||
|
||||
tokenLogin(token).then(res => {
|
||||
if (res && res.code == 0) {
|
||||
if (res.data.success) {
|
||||
ab98UserStore.setTel(res.data.tel)
|
||||
ab98UserStore.setUserInfo(res.data)
|
||||
ab98UserStore.setIsLogin(true)
|
||||
router.push('/')
|
||||
}
|
||||
}
|
||||
})
|
||||
tokenLogin(token).then(res => {
|
||||
if (res && res.code == 0) {
|
||||
if (res.data.success) {
|
||||
ab98UserStore.setTel(res.data.tel)
|
||||
ab98UserStore.setUserInfo(res.data)
|
||||
ab98UserStore.setIsLogin(true)
|
||||
router.push('/')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
if (isAdmin == '1') {
|
||||
|
|
|
@ -7,7 +7,6 @@ import { getToken } from "@@/utils/cache/cookies"
|
|||
import NProgress from "nprogress"
|
||||
import { useAb98UserStore } from '@/pinia/stores/ab98-user'
|
||||
|
||||
const ab98UserStore = useAb98UserStore()
|
||||
|
||||
NProgress.configure({ showSpinner: false })
|
||||
|
||||
|
@ -27,6 +26,7 @@ export function registerNavigationGuard(router: Router) {
|
|||
return true;
|
||||
}
|
||||
|
||||
const ab98UserStore = useAb98UserStore();
|
||||
if (!ab98UserStore.isLogin) {
|
||||
// 如果在免登录的白名单中,则直接进入
|
||||
if (isWhiteList(to)) return true
|
||||
|
|
Loading…
Reference in New Issue