From 80f38ba659e9a58a834806d981575e6a9217d3e5 Mon Sep 17 00:00:00 2001 From: lzhe <lzhe@example.com> Date: 星期三, 08 五月 2024 18:23:59 +0800 Subject: [PATCH] 1 --- src/utils/request.js | 73 ++++++++++++++++++++++-------------- 1 files changed, 44 insertions(+), 29 deletions(-) diff --git a/src/utils/request.js b/src/utils/request.js index 239f85b..8c820d1 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,5 +1,5 @@ import axios from 'axios'; -import { ElNotification, ElMessageBox } from 'element-plus'; +import { ElNotification, ElMessageBox, ElMessage } from 'element-plus'; import sysConfig from "@/config"; import tool from '@/utils/tool'; import router from '@/router'; @@ -12,12 +12,13 @@ axios.interceptors.request.use( (config) => { let token = tool.cookie.get("TOKEN"); - if(token){ + config.headers['Authorization'] = 'Basic c2FiZXI6c2FiZXJfc2VjcmV0' + if (token) { config.headers[sysConfig.TOKEN_NAME] = sysConfig.TOKEN_PREFIX + token } - if(!sysConfig.REQUEST_CACHE && config.method == 'get'){ + if (!sysConfig.REQUEST_CACHE && config.method == 'get') { config.params = config.params || {}; - config.params['_'] = new Date().getTime(); + // config.params['_'] = new Date().getTime(); } Object.assign(config.headers, sysConfig.HEADERS) return config; @@ -48,7 +49,7 @@ message: error.response.data.message || "Status:500锛屾湇鍔″櫒鍙戠敓閿欒锛�" }); } else if (error.response.status == 401) { - if(!MessageBox_401_show){ + if (!MessageBox_401_show) { MessageBox_401_show = true ElMessageBox.confirm('褰撳墠鐢ㄦ埛宸茶鐧诲嚭鎴栨棤鏉冮檺璁块棶褰撳墠璧勬簮锛岃灏濊瘯閲嶆柊鐧诲綍鍚庡啀鎿嶄綔銆�', '鏃犳潈闄愯闂�', { type: 'error', @@ -60,8 +61,8 @@ done() } }).then(() => { - router.replace({path: '/login'}); - }).catch(() => {}) + router.replace({ path: '/login' }); + }).catch(() => { }) } } else { ElNotification.error({ @@ -80,16 +81,16 @@ } ); function qsStringify(obj) { - return Object.keys(obj) - .map(key => { - if (Array.isArray(obj[key])) { - return obj[key] - .map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`) - .join('&'); - } - return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`; - }) - .join('&'); + return Object.keys(obj) + .map(key => { + if (Array.isArray(obj[key])) { + return obj[key] + .map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`) + .join('&'); + } + return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`; + }) + .join('&'); } var http = { @@ -99,7 +100,7 @@ * @param {object} params 璇锋眰鍙傛暟 * @param {object} config 鍙傛暟 */ - get: function(url, params={}, config={}) { + get: function (url, params = {}, config = {}) { return new Promise((resolve, reject) => { axios({ method: 'get', @@ -119,7 +120,7 @@ * @param {object} data 璇锋眰鍙傛暟 * @param {object} config 鍙傛暟 */ - post: function(url, data={}, config={}) { + post: function (url, data = {}, config = {}) { return new Promise((resolve, reject) => { axios({ method: 'post', @@ -129,7 +130,14 @@ }).then((response) => { resolve(response.data); }).catch((error) => { - reject(error); + if (error?.status == 400) { + ElMessage({ + message: error.data.msg, + type: 'warning', + }) + } else { + reject(error); + } }) }) }, @@ -138,13 +146,13 @@ * @param {object} data 璇锋眰鍙傛暟 * @param {object} config 鍙傛暟 */ - postJ: function(url, data={}, config={}) { + postJ: function (url, data = {}, config = {}) { return new Promise((resolve, reject) => { console.log(qsStringify(data)) axios({ method: 'post', url: url, - headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8','Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0'}, + headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' }, data: qsStringify(data), ...config }).then((response) => { @@ -159,7 +167,7 @@ * @param {object} data 璇锋眰鍙傛暟 * @param {object} config 鍙傛暟 */ - put: function(url, data={}, config={}) { + put: function (url, data = {}, config = {}) { return new Promise((resolve, reject) => { axios({ method: 'put', @@ -179,7 +187,7 @@ * @param {object} data 璇锋眰鍙傛暟 * @param {object} config 鍙傛暟 */ - patch: function(url, data={}, config={}) { + patch: function (url, data = {}, config = {}) { return new Promise((resolve, reject) => { axios({ method: 'patch', @@ -199,7 +207,7 @@ * @param {object} data 璇锋眰鍙傛暟 * @param {object} config 鍙傛暟 */ - delete: function(url, data={}, config={}) { + delete: function (url, data = {}, config = {}) { return new Promise((resolve, reject) => { axios({ method: 'delete', @@ -209,7 +217,14 @@ }).then((response) => { resolve(response.data); }).catch((error) => { - reject(error); + if (error.status == 400) { + ElMessage({ + message: error.data.msg, + type: 'warning', + }) + } else { + reject(error); + } }) }) }, @@ -218,19 +233,19 @@ * @param {string} url 鎺ュ彛鍦板潃 * @param {string} name JSONP鍥炶皟鍑芥暟鍚嶇О */ - jsonp: function(url, name='jsonp'){ + jsonp: function (url, name = 'jsonp') { return new Promise((resolve) => { var script = document.createElement('script') var _id = `jsonp${Math.ceil(Math.random() * 1000000)}` script.id = _id script.type = 'text/javascript' script.src = url - window[name] =(response) => { + window[name] = (response) => { resolve(response) document.getElementsByTagName('head')[0].removeChild(script) try { delete window[name]; - }catch(e){ + } catch (e) { window[name] = undefined; } } -- Gitblit v1.9.3