Ver código fonte

修改全局路由跳转逻辑

lm 6 dias atrás
pai
commit
05f2af2d5d
1 arquivos alterados com 16 adições e 5 exclusões
  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 === '/') {
   if (to.path === '/') {
     // const token = localStorage.getItem('token')
     // 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){
     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)
       console.log("获取用户信息返回",userInfoRes)
       if (userInfoRes?.code === 200) {
       if (userInfoRes?.code === 200) {
         // 存储用户信息到 localStorage 或 Pinia
         // 存储用户信息到 localStorage 或 Pinia
         localStorage.setItem('userInfo', JSON.stringify(userInfoRes.data))
         localStorage.setItem('userInfo', JSON.stringify(userInfoRes.data))
         next('/main')
         next('/main')
         return
         return
+      }else{
+        localStorage.removeItem('token')
+        localStorage.removeItem('userInfo')
+        localStorage.removeItem('loginRole')
       }
       }
     }
     }
   }
   }