From 396b9a06392db5736eb5a7d485879174d73bb39a Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 09 一月 2026 16:03:45 +0800
Subject: [PATCH] 补签
---
src/utils/request.ts | 96 +++++++++++++++++++++++------------------------
1 files changed, 47 insertions(+), 49 deletions(-)
diff --git a/src/utils/request.ts b/src/utils/request.ts
index fe246b1..4a40ea9 100644
--- a/src/utils/request.ts
+++ b/src/utils/request.ts
@@ -1,6 +1,6 @@
import axios, { AxiosResponse, InternalAxiosRequestConfig } from 'axios';
import { useUserStore } from '@/store/modules/user';
-import { getToken } from '@/utils/auth';
+import { getToken, getPlat } from '@/utils/auth';
import { tansParams, blobValidate } from '@/utils/ruoyi';
import cache from '@/plugins/cache';
import { HttpStatus } from '@/enums/RespEnum';
@@ -10,6 +10,9 @@
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";
+import { el } from 'element-plus/es/locale';
let downloadLoadingInstance: LoadingInstance;
// 鏄惁鏄剧ず閲嶆柊鐧诲綍
@@ -45,13 +48,14 @@
}
// get璇锋眰鏄犲皠params鍙傛暟
if (config.method === 'get' && config.params) {
+ console.log(config.params, '璇锋眰鍙傛暟');
let url = config.url + '?' + tansParams(config.params);
url = url.slice(0, -1);
config.params = {};
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 +68,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 +79,8 @@
}
}
// 褰撳紑鍚弬鏁板姞瀵�
- if (isEncrypt && (config.method === 'post' || config.method === 'put')) {
+ if (isEncrypt && (config.method === 'post' || config.method === 'put' || config.method === 'get')) {
+ console.log('寮�鍚簡鍙傛暟鍔犲瘑');
// 鐢熸垚涓�涓� AES 瀵嗛挜
const aesKey = generateAesKey();
config.headers['encrypt-key'] = encrypt(encryptBase64(aesKey));
@@ -88,14 +93,15 @@
return config;
},
(error: any) => {
- console.log(error);
+ console.log(error, 'wcs');
return Promise.reject(error);
}
);
+
// 鍝嶅簲鎷︽埅鍣�
service.interceptors.response.use(
- (res: AxiosResponse) => {
+ async (res: AxiosResponse) => {
// 鏈缃姸鎬佺爜鍒欓粯璁ゆ垚鍔熺姸鎬�
const code = res.data.code || HttpStatus.SUCCESS;
// 鑾峰彇閿欒淇℃伅
@@ -105,31 +111,23 @@
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==============');
+ if (getPlat() === 'dingding')
+ await router.push({ path: '/login' });
+ else
+ await router.push({ path: '/rzt_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');
@@ -155,30 +153,30 @@
downloadLoadingInstance = ElLoading.service({ text: '姝e湪涓嬭浇鏁版嵁锛岃绋嶅��', background: 'rgba(0, 0, 0, 0.7)' });
// prettier-ignore
return service.post(url, params, {
- transformRequest: [
- (params: any) => {
- return tansParams(params);
- }
- ],
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
- responseType: 'blob'
- }).then(async (resp: any) => {
- const isLogin = blobValidate(resp);
- if (isLogin) {
- const blob = new Blob([resp]);
- FileSaver.saveAs(blob, fileName);
- } else {
- const resText = await resp.data.text();
- const rspObj = JSON.parse(resText);
- const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'];
- ElMessage.error(errMsg);
+ transformRequest: [
+ (params: any) => {
+ return tansParams(params);
}
- downloadLoadingInstance.close();
- }).catch((r: any) => {
- console.error(r);
- ElMessage.error('涓嬭浇鏂囦欢鍑虹幇閿欒锛岃鑱旂郴绠$悊鍛橈紒');
- downloadLoadingInstance.close();
- });
+ ],
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
+ responseType: 'blob'
+ }).then(async (resp: any) => {
+ const isLogin = blobValidate(resp);
+ if (isLogin) {
+ const blob = new Blob([resp]);
+ FileSaver.saveAs(blob, fileName);
+ } else {
+ const resText = await resp.data.text();
+ const rspObj = JSON.parse(resText);
+ const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'];
+ ElMessage.error(errMsg);
+ }
+ downloadLoadingInstance.close();
+ }).catch((r: any) => {
+ console.error(r);
+ ElMessage.error('涓嬭浇鏂囦欢鍑虹幇閿欒锛岃鑱旂郴绠$悊鍛橈紒');
+ downloadLoadingInstance.close();
+ });
}
// 瀵煎嚭 axios 瀹炰緥
export default service;
--
Gitblit v1.8.0