fix(router): 修复导航守卫中用户存储未正确初始化的问题

在导航守卫中,`ab98UserStore` 的初始化位置被移动到需要的地方,以确保在检查登录状态时已正确初始化。此外,在 `App.vue` 中,增加了对 `token` 的非空检查,避免在 `token` 为空时执行不必要的操作。
This commit is contained in:
dzq 2025-04-18 10:24:01 +08:00
parent 55ba35230e
commit 6e5a076d81
2 changed files with 14 additions and 12 deletions

View File

@ -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') {

View File

@ -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