From 3a0b521201dd2b4cf8285064f5f1a03b08b9b1fe Mon Sep 17 00:00:00 2001 From: bb_pan Date: Fri, 25 Apr 2025 15:41:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sgzb-ui/src/utils/request.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sgzb-ui/src/utils/request.js b/sgzb-ui/src/utils/request.js index 600d37bf..ed47d5ec 100644 --- a/sgzb-ui/src/utils/request.js +++ b/sgzb-ui/src/utils/request.js @@ -27,9 +27,13 @@ const service = axios.create({ // request拦截器 service.interceptors.request.use(config => { - const encryptRequest = true - const checkIntegrity = true - const encryptResponse = true + const headers = config.headers || {} + const { + encryptRequest = true, + checkIntegrity = true, + encryptResponse = true, + repeatSubmit = false + } = headers //入参加密 config.headers['encryptRequest'] = systemConfig.requestConfig.encryptRequest && encryptRequest ? 'true' : 'false' // 数据完整性校验 @@ -41,7 +45,7 @@ service.interceptors.request.use(config => { // 是否需要设置 token const isToken = (config.headers || {}).isToken === false // 是否需要防止数据重复提交 - const isRepeatSubmit = (config.headers || {}).repeatSubmit === false + const isRepeatSubmit = repeatSubmit if (getToken() && !isToken) { config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 } @@ -52,7 +56,7 @@ service.interceptors.request.use(config => { config.params = {}; config.url = url; } - if (config.method === 'post' || config.method === 'put') { + if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { const requestObj = { url: config.url, data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, @@ -162,7 +166,7 @@ export function download(url, params, filename, config) { downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) return service.post(url, params, { transformRequest: [(params) => { return tansParams(params) }], - headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + headers: { 'Content-Type': 'application/x-www-form-urlencoded', encryptResponse: false }, responseType: 'blob', ...config }).then(async (data) => {