From f09c736d261e1ad41d97b6e974a81bb014ef1265 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 23 十月 2025 17:45:50 +0800
Subject: [PATCH] 页面调整
---
manager/src/libs/axios.js | 134 ++++++++++++++++++++++++++------------------
1 files changed, 80 insertions(+), 54 deletions(-)
diff --git a/manager/src/libs/axios.js b/manager/src/libs/axios.js
index f5ccf84..f1f2832 100644
--- a/manager/src/libs/axios.js
+++ b/manager/src/libs/axios.js
@@ -16,17 +16,24 @@
? BASE.API_DEV.manager
: BASE.API_PROD.manager) + BASE.PREFIX;
// 鏂囦欢涓婁紶鎺ュ彛
-export const uploadFile = commonUrl + "/common/common/upload/file";
+export const uploadFile = commonUrl + "/common/lmk/file/upload";
const service = axios.create({
timeout: 8000,
baseURL: managerUrl
+ // 绉婚櫎鍥哄畾鐨刟ccessToken璁剧疆锛屾敼鍦ㄨ姹傛嫤鎴櫒涓姩鎬佽缃�
});
var isRefreshToken = 0;
const refreshToken = getTokenDebounce();
service.interceptors.request.use(
config => {
+ // 鍔ㄦ�佽缃產ccessToken
+ const accessToken = getStore("accessToken");
+ if (accessToken) {
+ config.headers.accessToken = accessToken;
+ }
+
if (config.method == "get") {
config.params = {
_t: Date.parse(new Date()) / 1000,
@@ -57,8 +64,8 @@
}
switch (data.code) {
case 400:
- if (data.message !== null) {
- Message.error(data.message);
+ if (data.msg !== null) {
+ Message.error(data.msg);
} else {
Message.error("绯荤粺寮傚父");
}
@@ -69,8 +76,8 @@
Cookies.set("userInfoManager", "");
setStore("accessToken", "");
if (router.history.current.name != "login") {
- if (data.message !== null) {
- Message.error(data.message);
+ if (data.msg !== null) {
+ Message.error(data.msg);
} else {
Message.error("鏈煡閿欒锛岃閲嶆柊鐧诲綍");
}
@@ -80,8 +87,8 @@
break;
case 500:
// 绯荤粺寮傚父
- if (data.message !== null) {
- Message.error(data.message);
+ if (data.msg !== null) {
+ Message.error(data.msg);
} else {
Message.error("绯荤粺寮傚父");
}
@@ -98,24 +105,34 @@
} else if (error.response.status === 404) {
// 閬垮厤鍒锋柊token鎶ラ敊
} else if (error.response.status === 403 || error.response.data.code === 20004) {
- isRefreshToken++;
- if (isRefreshToken === 1) {
+ // 鏀硅繘鐨則oken鍒锋柊鏈哄埗锛岄伩鍏嶇珵鎬佹潯浠�
+ if (isRefreshToken === 0) {
+ isRefreshToken = 1;
const getTokenRes = await refreshToken();
if (getTokenRes === "success") {
- // 鍒锋柊token
- if (isRefreshToken === 1) {
- error.response.config.headers.accessToken = getStore(
- "accessToken"
- );
- return service(error.response.config);
- } else {
- router.go(0);
- }
+ // 鍒锋柊token鎴愬姛锛岄噸鏂板彂璧疯姹�
+ error.response.config.headers.accessToken = getStore("accessToken");
+ isRefreshToken = 0;
+ return service(error.response.config);
} else {
+ // 鍒锋柊澶辫触锛岃烦杞埌鐧诲綍椤�
+ isRefreshToken = 0;
Cookies.set("userInfoManager", "");
+ setStore("accessToken", "");
+ setStore("refreshToken", "");
router.push("/login");
}
- isRefreshToken = 0;
+ } else {
+ // 濡傛灉宸茬粡鏈夎姹傚湪鍒锋柊token锛岀瓑寰呬竴灏忔鏃堕棿鍚庨噸璇�
+ await new Promise(resolve => setTimeout(resolve, 100));
+ if (isRefreshToken === 0) {
+ // token鍒锋柊瀹屾垚锛岄噸鏂板彂璧疯姹�
+ error.response.config.headers.accessToken = getStore("accessToken");
+ return service(error.response.config);
+ } else {
+ // 瓒呮椂鎴栧叾浠栭敊璇紝璺宠浆鍒扮櫥褰曢〉
+ router.push("/login");
+ }
}
} else {
// 鍏朵粬閿欒澶勭悊
@@ -130,46 +147,46 @@
// 鍘熷鐨刟xios鏆撮湶鍑哄幓鐢ㄥ嵆鍙�
export default service
-// 闃叉姈闂寘鏉ヤ竴娉�
+// 鏀硅繘鐨勯槻鎶栨満鍒�
function getTokenDebounce() {
let lock = false;
let success = false;
+ let resolveCallbacks = []; // 瀛樺偍绛夊緟鐨勫洖璋�
+
return function() {
- if (!lock) {
- lock = true;
- let oldRefreshToken = getStore("refreshToken");
- handleRefreshToken(oldRefreshToken)
- .then(res => {
- if (res.success) {
- let { accessToken, refreshToken } = res.result;
- setStore("accessToken", accessToken);
- setStore("refreshToken", refreshToken);
-
- success = true;
- lock = false;
- } else {
- success = false;
- lock = false;
- router.push("/login");
- }
- })
- .catch(err => {
- success = false;
- lock = false;
- });
- }
return new Promise(resolve => {
- // 涓�鐩寸湅lock,鐩村埌璇锋眰澶辫触鎴栬�呮垚鍔�
- const timer = setInterval(() => {
- if (!lock) {
- clearInterval(timer);
- if (success) {
- resolve("success");
- } else {
- resolve("fail");
- }
- }
- }, 500); // 杞鏃堕棿闂撮殧
+ if (!lock) {
+ lock = true;
+ resolveCallbacks = [resolve]; // 鍒濆鍖栧洖璋冩暟缁�
+
+ let oldRefreshToken = getStore("refreshToken");
+ handleRefreshToken(oldRefreshToken)
+ .then(res => {
+ if (res.success) {
+ let { accessToken, refreshToken } = res.result;
+ setStore("accessToken", accessToken);
+ setStore("refreshToken", refreshToken);
+ success = true;
+ } else {
+ success = false;
+ router.push("/login");
+ }
+ })
+ .catch(err => {
+ console.error('Token鍒锋柊澶辫触:', err);
+ success = false;
+ })
+ .finally(() => {
+ lock = false;
+ // 鍚屾椂瑙e喅鎵�鏈夌瓑寰呯殑Promise
+ const result = success ? "success" : "fail";
+ resolveCallbacks.forEach(callback => callback(result));
+ resolveCallbacks = [];
+ });
+ } else {
+ // 濡傛灉姝e湪鍒锋柊锛屽皢鍥炶皟鍔犲叆绛夊緟闃熷垪
+ resolveCallbacks.push(resolve);
+ }
});
};
}
@@ -330,6 +347,15 @@
});
};
+export const uploadFileByLmk = (params) =>{
+ return service({
+ url: "/common/upload/file",
+ method: "POST",
+ headers:{'Content-Type': 'multipart/form-data'},
+ data: params
+ })
+}
+
/**
* 鏃犻渶token楠岃瘉鐨勮姹� 閬垮厤鏃oken杩囨湡瀵艰嚧璇锋眰澶辫触
* @param {*} url
--
Gitblit v1.8.0