Selaa lähdekoodia

Merge branch 'fork/kuchaguangjie/fix'

Jin Mao 4 kuukautta sitten
vanhempi
commit
f6f92e5403
1 muutettua tiedostoa jossa 10 lisäystä ja 3 poistoa
  1. 10 3
      playground/src/store/auth.ts

+ 10 - 3
playground/src/store/auth.ts

@@ -78,15 +78,22 @@ export const useAuthStore = defineStore('auth', () => {
     };
   }
 
+  const isLoggingOut = ref(false); // 正在 logout 标识, 防止 /logout 死循环.
+
   async function logout(redirect: boolean = true) {
+    if (isLoggingOut.value) return; // 正在登出中, 说明已进入循环, 直接返回.
+    isLoggingOut.value = true; // 设置 标识
+
     try {
       await logoutApi();
     } catch {
       // 不做任何处理
-    }
+    } finally {
+      isLoggingOut.value = false; // 重置 标识
 
-    resetAllStores();
-    accessStore.setLoginExpired(false);
+      resetAllStores();
+      accessStore.setLoginExpired(false);
+    }
 
     // 回登录页带上当前路由地址
     await router.replace({