Explorar o código

修改全局路由跳转逻辑

lm hai 6 días
pai
achega
05f2af2d5d
Modificáronse 1 ficheiros con 16 adicións e 5 borrados
  1. 16 5
      src/router/index.ts

+ 16 - 5
src/router/index.ts

@@ -104,20 +104,31 @@ router.beforeEach(async(to,from,next)=>{
   if (to.path === '/') {
     // const token = localStorage.getItem('token')
     // 查询用户信息
-    const token = to?.query?.token
-    const userType = to?.query?.loginRole   // 'student' : 'teacher'
+    // const token = to?.query?.token
+    // const userType = to?.query?.loginRole   // 'student' : 'teacher'
+
+    const token = localStorage.getItem('token')
+    const userType = localStorage.getItem('loginRole')  // 'student' : 'teacher'
     
     if(token){
-      localStorage.setItem('token',token)
-      localStorage.setItem('loginRole',userType)
+      // localStorage.setItem('token',token)
+      // localStorage.setItem('loginRole',userType)
       
-      let userInfoRes = await  getUserInfo()
+      let userInfoRes = undefined
+      try{
+        userInfoRes = await  getUserInfo()
+      }catch{}
+
       console.log("获取用户信息返回",userInfoRes)
       if (userInfoRes?.code === 200) {
         // 存储用户信息到 localStorage 或 Pinia
         localStorage.setItem('userInfo', JSON.stringify(userInfoRes.data))
         next('/main')
         return
+      }else{
+        localStorage.removeItem('token')
+        localStorage.removeItem('userInfo')
+        localStorage.removeItem('loginRole')
       }
     }
   }