From ad88a6c7badd36789a851c34bdca8e0d0dc30dfb Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期五, 14 四月 2023 14:57:01 +0800 Subject: [PATCH] bug修改 --- src/http/index.js | 108 +++++++++++++---------------------------------------- 1 files changed, 27 insertions(+), 81 deletions(-) diff --git a/src/http/index.js b/src/http/index.js index 05bdd7e..62dd49f 100644 --- a/src/http/index.js +++ b/src/http/index.js @@ -1,19 +1,11 @@ import axios from 'axios' -import { - handleResponseSuccess, - handleResponseFail, - handleRequest -} from './interceptor-handler' -import { - showFullScreenLoading -} from '../utils/loading' -// import { getStorage } from '@utils/storage' +import {handleRequest, handleResponseFail, handleResponseSuccess} from './interceptor-handler' +import {showFullScreenLoading} from '@/utils/loading' // URL 璁板綍鍣� import urlRecorder from './url-recorder' const axiosInstance = axios.create({ - // baseURL: `${process.env.VUE_APP_API_BASE_URL}`, timeout: 1000 * 60 * 5 }) @@ -25,7 +17,7 @@ * @return {string} */ function addVersion(url) { - return url.includes('?') ? `${url}&v=${Date.now()}` : `${url}?v=${Date.now()}` + return url.includes('?') ? `${url}&v=${Date.now()}` : url; } export default { @@ -46,7 +38,6 @@ url: addVersion(url), params, errorHandler: (!throwError && this.defaultErrorHandler) || null, - // headers: { 'Content-Type': 'application/json', token: thisToken }, headers: { 'Content-Type': 'application/json' }, @@ -63,14 +54,15 @@ * 閫氳繃post鍙戦�佹暟鎹紝浣垮悗绔洿鎺ユ敹鍒癹son鏍煎紡鐨勬暟鎹�傚苟缁熶竴澶勭悊甯歌鐨勯敊璇� * @param {string} url * @param {object?} data={} + * @param {object} params={} * @param {boolean?} throwError 鏄惁涓嶄娇鐢ㄩ粯璁ょ殑寮傚父澶勭悊鏂规硶锛岃�屾妸寮傚父鎶涘嚭鏉� - * @param {int?} timeout 瓒呮椂鏃堕棿锛岄粯璁�10绉� * @return {Promise} 杩斿洖涓�涓猵romise瀵硅薄銆傚叾涓璽hen鏂规硶浼犻�掑洖鍖呬腑鐨刣ata鏁版嵁锛沜atch浜嬩欢鍒欎紶閫掓暣涓洖鍖咃紝鍏跺弬鏁颁负{data:{},status{code:123,message:'xxx'}} */ - post(url, data = {}, throwError) { + post(url, data = {}, params= {}, throwError) { const config = { method: 'POST', url, + params, data: JSON.stringify(data), errorHandler: (!throwError && this.defaultErrorHandler) || null, headers: { @@ -103,9 +95,10 @@ return axiosInstance(config) }, // DELETE鏇存柊鏁版嵁 - delete(url, data = {}, throwError) { + delete(url, params = {}, data = {}, throwError) { const config = { method: 'delete', + params, url, data: JSON.stringify(data), errorHandler: (!throwError && this.defaultErrorHandler) || null, @@ -121,79 +114,31 @@ return axiosInstance(config) }, /** - * 閫氳繃琛ㄥ崟get涓嬭浇鏂囦欢銆傚苟缁熶竴澶勭悊甯歌鐨勯敊璇� + * 閫氳繃琛ㄥ崟涓嬭浇鏂囦欢銆傚苟缁熶竴澶勭悊甯歌鐨勯敊璇� * @param {string} url - * @param {String} fileName 鏂囦欢鍚� + * @param params 浼犲弬 * @param {Object?} data 涓婁紶杩涘害鍥炶皟锛屽弬鏁颁负event * @param {Function?} throwError 鏄惁涓嶄娇鐢ㄩ粯璁ょ殑寮傚父澶勭悊鏂规硶锛岃�屾妸寮傚父鎶涘嚭鏉� * @return {Promise} 杩斿洖涓�涓猵romise瀵硅薄 */ - downloadFile(url, params, data = {}, throwError) { - const { - fileName, - type - } = params - return axiosInstance({ - method: 'GET', + downloadFile(url, params= {}, data = {}, throwError) { + const config = { + method: 'POST', url, - responseType: 'arraybuffer', + params, data: JSON.stringify(data), + responseType: 'arraybuffer', errorHandler: (!throwError && this.defaultErrorHandler) || null, - timeout: 50000, headers: { 'Content-Type': 'application/json' - } - }).then(response => { - const blob = new Blob([response], { - type - }) // 涓嶅吋瀹箃ype - // 鍒╃敤a鏍囩瀹炵幇涓嬭浇 - const link = document.createElement('a') - link.style.display = 'none' - link.setAttribute('type', MimeType) // 骞朵笉鏀寔 - const downUrl = window.URL.createObjectURL(blob) - link.href = downUrl - // 娣诲姞鍒版祻瑙堝櫒涓轰簡鍏煎 firefox - document.body.appendChild(link) - // 涓轰簡鍏煎qq娴忚鍣紝fileName涓繀椤诲姞涓婃枃浠跺悗缂� - link.download = fileName - link.click() - document.body.removeChild(link) - }) - }, - /** - * 閫氳繃a鏍囩鎵撳紑鏂囦欢 - * @param {string} url - */ - downloadFileByA(url) { - // const {fileName} = params - // 鍒╃敤a鏍囩瀹炵幇涓嬭浇 - const link = document.createElement('a') - link.style.display = 'none' - link.href = `${process.env.VUE_APP_DOWN_FILE}${url}` - // 娣诲姞鍒版祻瑙堝櫒涓轰簡鍏煎 firefox - document.body.appendChild(link) - // 涓轰簡鍏煎qq娴忚鍣紝fileName涓繀椤诲姞涓婃枃浠跺悗缂� - // link.download = fileName - link.click() - document.body.removeChild(link) - return Promise.resolve() - }, - /** - * 閫氳繃a鏍囩涓嬭浇鏂囦欢 - * @param {string} url - */ - downloadFileByAtag(url) { - // 鍒╃敤a鏍囩瀹炵幇涓嬭浇 - const link = document.createElement('a') - link.download = url - link.target = '_blank' - link.style.display = 'none' - link.href = url - document.body.appendChild(link) - link.click() - document.body.removeChild(link) - return Promise.resolve() + }, + withCredentials: this.withCredentials + } + urlRecorder.add(config) + if (data.showLoading === undefined) { + showFullScreenLoading() + } + return axiosInstance(config) }, /** * 閫氳繃琛ㄥ崟post涓婁紶鏂囦欢骞舵帴鏀秊son鏍煎紡鐨勬暟鎹�傚苟缁熶竴澶勭悊甯歌鐨勯敊璇� @@ -211,8 +156,9 @@ data: formElem instanceof FormData ? formElem : new FormData(formElem), onUploadProgress, errorHandler: (!throwError && this.defaultErrorHandler) || null, - timeout: 500000, - enableRepeat: true + headers: { + 'Content-Type': 'multipart/form-data' + }, }) } -} \ No newline at end of file +} -- Gitblit v1.8.0