From 1595cb282aab5399862fac6406b5de550863e3b6 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 03 四月 2023 00:05:09 +0800 Subject: [PATCH] update 调整代码格式 --- src/utils/request.ts | 248 ++++++++++++++++++++++++------------------------ 1 files changed, 124 insertions(+), 124 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index 1376fbd..5fe8f11 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -17,143 +17,143 @@ axios.defaults.headers['Content-Language'] = 'zh_CN'; // 鍒涘缓 axios 瀹炰緥 const service = axios.create({ - baseURL: import.meta.env.VITE_APP_BASE_API, - timeout: 50000 + baseURL: import.meta.env.VITE_APP_BASE_API, + timeout: 50000 }); // 璇锋眰鎷︽埅鍣� service.interceptors.request.use( - (config: InternalAxiosRequestConfig) => { - const isToken = (config.headers || {}).isToken === false; - // 鏄惁闇�瑕侀槻姝㈡暟鎹噸澶嶆彁浜� - const isRepeatSubmit = !(config.headers || {}).repeatSubmit; - if (getToken() && !isToken) { - config.headers['Authorization'] = 'Bearer ' + getToken(); // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀� - } - // get璇锋眰鏄犲皠params鍙傛暟 - if (config.method === 'get' && config.params) { - let url = config.url + '?' + tansParams(config.params); - url = url.slice(0, -1); - config.params = {}; - config.url = url; - } + (config: InternalAxiosRequestConfig) => { + const isToken = (config.headers || {}).isToken === false; + // 鏄惁闇�瑕侀槻姝㈡暟鎹噸澶嶆彁浜� + const isRepeatSubmit = !(config.headers || {}).repeatSubmit; + if (getToken() && !isToken) { + config.headers['Authorization'] = 'Bearer ' + getToken(); // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀� + } + // get璇锋眰鏄犲皠params鍙傛暟 + if (config.method === 'get' && 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')) { - const requestObj = { - url: config.url, - data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, - time: new Date().getTime() - }; - const sessionObj = cache.session.getJSON('sessionObj'); - if (sessionObj === undefined || sessionObj === null || sessionObj === '') { - cache.session.setJSON('sessionObj', requestObj); - } else { - const s_url = sessionObj.url; // 璇锋眰鍦板潃 - const s_data = sessionObj.data; // 璇锋眰鏁版嵁 - const s_time = sessionObj.time; // 璇锋眰鏃堕棿 - const interval = 500; // 闂撮殧鏃堕棿(ms)锛屽皬浜庢鏃堕棿瑙嗕负閲嶅鎻愪氦 - if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { - const message = '鏁版嵁姝e湪澶勭悊锛岃鍕块噸澶嶆彁浜�'; - console.warn(`[${s_url}]: ` + message); - return Promise.reject(new Error(message)); - } else { - cache.session.setJSON('sessionObj', requestObj); - } - } - } - return config; - }, - (error: any) => { - console.log(error); - return Promise.reject(error); - } + if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { + const requestObj = { + url: config.url, + data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, + time: new Date().getTime() + }; + const sessionObj = cache.session.getJSON('sessionObj'); + if (sessionObj === undefined || sessionObj === null || sessionObj === '') { + cache.session.setJSON('sessionObj', requestObj); + } else { + const s_url = sessionObj.url; // 璇锋眰鍦板潃 + const s_data = sessionObj.data; // 璇锋眰鏁版嵁 + const s_time = sessionObj.time; // 璇锋眰鏃堕棿 + const interval = 500; // 闂撮殧鏃堕棿(ms)锛屽皬浜庢鏃堕棿瑙嗕负閲嶅鎻愪氦 + if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { + const message = '鏁版嵁姝e湪澶勭悊锛岃鍕块噸澶嶆彁浜�'; + console.warn(`[${s_url}]: ` + message); + return Promise.reject(new Error(message)); + } else { + cache.session.setJSON('sessionObj', requestObj); + } + } + } + return config; + }, + (error: any) => { + console.log(error); + return Promise.reject(error); + } ); // 鍝嶅簲鎷︽埅鍣� service.interceptors.response.use( - (res) => { - // 鏈缃姸鎬佺爜鍒欓粯璁ゆ垚鍔熺姸鎬� - const code = res.data.code || HttpStatus.SUCCESS; - // 鑾峰彇閿欒淇℃伅 - const msg = errorCode[code] || res.data.msg || errorCode['default']; - // 浜岃繘鍒舵暟鎹垯鐩存帴杩斿洖 - if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { - return res.data; - } - if (code === 401) { - // prettier-ignore - if (!isRelogin.show) { - 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('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�'); - } else if (code === HttpStatus.SERVER_ERROR) { - console.log(msg); - ElMessage({ message: msg, type: 'error' }); - return Promise.reject(new Error(msg)); - } else if (code === HttpStatus.WARN) { - ElMessage({ message: msg, type: 'warning' }); - return Promise.reject(new Error(msg)); - } else if (code !== HttpStatus.SUCCESS) { - ElNotification.error({ title: msg }); - return Promise.reject('error'); - } else { - return Promise.resolve(res.data); - } - }, - (error) => { - let { message } = error; - if (message == 'Network Error') { - message = '鍚庣鎺ュ彛杩炴帴寮傚父'; - } else if (message.includes('timeout')) { - message = '绯荤粺鎺ュ彛璇锋眰瓒呮椂'; - } else if (message.includes('Request failed with status code')) { - message = '绯荤粺鎺ュ彛' + message.substr(message.length - 3) + '寮傚父'; - } - ElMessage({ message: message, type: 'error', duration: 5 * 1000 }); - return Promise.reject(error); - } + (res) => { + // 鏈缃姸鎬佺爜鍒欓粯璁ゆ垚鍔熺姸鎬� + const code = res.data.code || HttpStatus.SUCCESS; + // 鑾峰彇閿欒淇℃伅 + const msg = errorCode[code] || res.data.msg || errorCode['default']; + // 浜岃繘鍒舵暟鎹垯鐩存帴杩斿洖 + if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { + return res.data; + } + if (code === 401) { + // prettier-ignore + if (!isRelogin.show) { + 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('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�'); + } else if (code === HttpStatus.SERVER_ERROR) { + console.log(msg); + ElMessage({ message: msg, type: 'error' }); + return Promise.reject(new Error(msg)); + } else if (code === HttpStatus.WARN) { + ElMessage({ message: msg, type: 'warning' }); + return Promise.reject(new Error(msg)); + } else if (code !== HttpStatus.SUCCESS) { + ElNotification.error({ title: msg }); + return Promise.reject('error'); + } else { + return Promise.resolve(res.data); + } + }, + (error) => { + let { message } = error; + if (message == 'Network Error') { + message = '鍚庣鎺ュ彛杩炴帴寮傚父'; + } else if (message.includes('timeout')) { + message = '绯荤粺鎺ュ彛璇锋眰瓒呮椂'; + } else if (message.includes('Request failed with status code')) { + message = '绯荤粺鎺ュ彛' + message.substr(message.length - 3) + '寮傚父'; + } + ElMessage({ message: message, type: 'error', duration: 5 * 1000 }); + return Promise.reject(error); + } ); // 閫氱敤涓嬭浇鏂规硶 export function download(url: string, params: any, fileName: string) { - downloadLoadingInstance = ElLoading.service({ text: '姝e湪涓嬭浇鏁版嵁锛岃绋嶅��', background: 'rgba(0, 0, 0, 0.7)' }); - // prettier-ignore - return service.post(url, params, { - transformRequest: [ - (params) => { - return tansParams(params); - } - ], - headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - responseType: 'blob' - }).then(async (resp) => { - const isLogin = blobValidate(resp); - if (isLogin) { - const blob = new Blob([resp as any]); + downloadLoadingInstance = ElLoading.service({ text: '姝e湪涓嬭浇鏁版嵁锛岃绋嶅��', background: 'rgba(0, 0, 0, 0.7)' }); + // prettier-ignore + return service.post(url, params, { + transformRequest: [ + (params) => { + return tansParams(params); + } + ], + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + responseType: 'blob' + }).then(async (resp) => { + const isLogin = blobValidate(resp); + if (isLogin) { + const blob = new Blob([resp as any]); 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) => { - console.error(r); - ElMessage.error('涓嬭浇鏂囦欢鍑虹幇閿欒锛岃鑱旂郴绠$悊鍛橈紒'); - downloadLoadingInstance.close(); - }); + } 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) => { + console.error(r); + ElMessage.error('涓嬭浇鏂囦欢鍑虹幇閿欒锛岃鑱旂郴绠$悊鍛橈紒'); + downloadLoadingInstance.close(); + }); } // 瀵煎嚭 axios 瀹炰緥 export default service; -- Gitblit v1.9.3