From 7f7e010a048f2de8dcb6dd2e6e3e3da1ebfd4f43 Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期三, 20 十二月 2023 16:58:46 +0800
Subject: [PATCH] 互联网
---
src/utils/request.ts | 40 ++++++++++++++++------------------------
1 files changed, 16 insertions(+), 24 deletions(-)
diff --git a/src/utils/request.ts b/src/utils/request.ts
index fe246b1..55f7498 100644
--- a/src/utils/request.ts
+++ b/src/utils/request.ts
@@ -10,6 +10,8 @@
import { getLanguage } from '@/lang';
import { encryptBase64, encryptWithAes, generateAesKey } from '@/utils/crypto';
import { encrypt } from '@/utils/jsencrypt';
+import router from "@/router";
+import { ElLoading, ElMessage, ElNotification } from "element-plus";
let downloadLoadingInstance: LoadingInstance;
// 鏄惁鏄剧ず閲嶆柊鐧诲綍
@@ -51,7 +53,7 @@
config.url = url;
}
- if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
+ if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put' || config.method === 'get')) {
const requestObj = {
url: config.url,
data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
@@ -64,7 +66,7 @@
const s_url = sessionObj.url; // 璇锋眰鍦板潃
const s_data = sessionObj.data; // 璇锋眰鏁版嵁
const s_time = sessionObj.time; // 璇锋眰鏃堕棿
- const interval = 500; // 闂撮殧鏃堕棿(ms)锛屽皬浜庢鏃堕棿瑙嗕负閲嶅鎻愪氦
+ const interval = 5; // 闂撮殧鏃堕棿(ms)锛屽皬浜庢鏃堕棿瑙嗕负閲嶅鎻愪氦
if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
const message = '鏁版嵁姝e湪澶勭悊锛岃鍕块噸澶嶆彁浜�';
console.warn(`[${s_url}]: ` + message);
@@ -75,7 +77,7 @@
}
}
// 褰撳紑鍚弬鏁板姞瀵�
- if (isEncrypt && (config.method === 'post' || config.method === 'put')) {
+ if (isEncrypt && (config.method === 'post' || config.method === 'put' || config.method === 'get')) {
// 鐢熸垚涓�涓� AES 瀵嗛挜
const aesKey = generateAesKey();
config.headers['encrypt-key'] = encrypt(encryptBase64(aesKey));
@@ -93,9 +95,10 @@
}
);
+
// 鍝嶅簲鎷︽埅鍣�
service.interceptors.response.use(
- (res: AxiosResponse) => {
+ async (res: AxiosResponse) => {
// 鏈缃姸鎬佺爜鍒欓粯璁ゆ垚鍔熺姸鎬�
const code = res.data.code || HttpStatus.SUCCESS;
// 鑾峰彇閿欒淇℃伅
@@ -105,31 +108,20 @@
return res.data;
}
if (code === 401) {
- // prettier-ignore
- if (!isRelogin.show) {
- // isRelogin.show = true;
- isRelogin.show = true;
- ElMessageBox.confirm('鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', '绯荤粺鎻愮ず', {
- confirmButtonText: '閲嶆柊鐧诲綍',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- isRelogin.show = false;
- useUserStore().logout().then(() => {
- location.href = import.meta.env.VITE_APP_CONTEXT_PATH + 'index';
- });
- }).catch(() => {
- isRelogin.show = false;
- });
- }
- return Promise.reject('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�');
+
+ const userStore = useUserStore();
+ await userStore.logout()
+
+ console.log(code, 'code==============');
+ await router.push({ path: '/login' });
+ return
} else if (code === HttpStatus.SERVER_ERROR) {
console.log(msg);
ElMessage({ message: msg, type: 'error' });
- return Promise.reject(new Error(msg));
+ return Promise.reject(new Error('绯荤粺鍐呴儴閿欒'));
} else if (code === HttpStatus.WARN) {
ElMessage({ message: msg, type: 'warning' });
- return Promise.reject(new Error(msg));
+ return Promise.reject(new Error('绯荤粺璀﹀憡娑堟伅'));
} else if (code !== HttpStatus.SUCCESS) {
ElNotification.error({ title: msg });
return Promise.reject('error');
--
Gitblit v1.8.0