瀏覽代碼

fix:修复服务端响应成功,但返回自定义401时,不会自动跳转登录页面的问题

yangyi 4 月之前
父節點
當前提交
6541241beb
共有 1 個文件被更改,包括 7 次插入 和 0 次删除
  1. 7 0
      src/util/axios-instance.ts

+ 7 - 0
src/util/axios-instance.ts

@@ -25,12 +25,19 @@ axiosInstance.interceptors.request.use(
   (error) => Promise.reject(error),
 )
 
+const authPaths = ['/auth/login', '/auth/register']
+
 axiosInstance.interceptors.response.use(
   (response: AxiosResponse) => {
     const { code, message } = response.data
     if (code === 200) {
       return response.data
     }
+    if (code === 401 && !authPaths.some(p => response.config.url?.includes(p))) {
+      const userStore = useUserStore()
+      userStore.logout()
+      router.push('/login')
+    }
     return Promise.reject(new Error(message || '请求失败'))
   },
   (error) => {