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:
tongtong committed 2026-10-23 10:23:13 +08:00
commit f287292aeb
308 files changed
+51457 -7874

No files matched your search

+6 -6
View File
@@ -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"));
}