Merge branch 'master' of gitee.com:youlaiorg/vue3-element-admin
# Conflicts: # .env.development # pnpm-lock.yaml # src/composables/index.ts # src/utils/request.ts # types/env.d.ts # vite.config.ts
This commit is contained in:
commit
f287292aeb
308 files changed
+51457
-7874
No files matched your search
@@ -4,7 +4,7 @@ import qs from "qs";
|
||||
import { ApiCodeEnum } from "@/enums/api";
|
||||
import { useUserStoreHook } from "@/stores/user";
|
||||
import { usePermissionStoreHook } from "@/stores/permission";
|
||||
import { AuthStorage, redirectToLogin } from "@/utils/auth";
|
||||
import { AuthStorage } from "@/utils/auth";
|
||||
import type { ApiResult } from "@/api/common";
|
||||
|
||||
// 防止同一请求在 token 刷新后重复进入重试,导致死循环
|
||||
@@ -32,8 +32,8 @@ function setupInterceptors(instance: typeof http) {
|
||||
(config: InternalAxiosRequestConfig) => {
|
||||
const token = AuthStorage.getAccessToken();
|
||||
|
||||
// 约定:调用方设置 Authorization 为 "no-auth" 即跳过 token 注入
|
||||
if (config.headers.Authorization === "no-auth") {
|
||||
// 约定:调用方设置 Authorization 为 "no-auth",或设置 anonymous 即跳过 token 注入
|
||||
if (config.headers.Authorization === "no-auth" || config.anonymous) {
|
||||
delete config.headers.Authorization;
|
||||
} else if (token) {
|
||||
config.headers.Authorization = `Bearer ${token}`;
|
||||
@@ -76,7 +76,7 @@ function setupInterceptors(instance: typeof http) {
|
||||
// Token 过期
|
||||
if (code === ApiCodeEnum.ACCESS_TOKEN_INVALID) {
|
||||
if (!config || retriedRequests.has(config)) {
|
||||
await redirectToLogin("登录已过期,请重新登录");
|
||||
await useUserStoreHook().redirectToLogin("expired");
|
||||
return Promise.reject(new Error("Token Invalid"));
|
||||
}
|
||||
|
||||
@@ -93,14 +93,14 @@ function setupInterceptors(instance: typeof http) {
|
||||
|
||||
return instance(config);
|
||||
} catch {
|
||||
await redirectToLogin("登录已过期,请重新登录");
|
||||
await useUserStoreHook().redirectToLogin("expired");
|
||||
return Promise.reject(new Error("Token Invalid"));
|
||||
}
|
||||
}
|
||||
|
||||
// Refresh token 失效
|
||||
if (code === ApiCodeEnum.REFRESH_TOKEN_INVALID) {
|
||||
await redirectToLogin("登录已过期,请重新登录", false);
|
||||
await useUserStoreHook().redirectToLogin("expired");
|
||||
return Promise.reject(new Error("Token Invalid"));
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user