From 829f5116884f98643ffc5b2a548a600d40c0cedb Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 14 四月 2025 23:09:32 +0800
Subject: [PATCH] 处理图片显示问题
---
src/http/index.js | 103 +++++++++++++--------------------------------------
1 files changed, 26 insertions(+), 77 deletions(-)
diff --git a/src/http/index.js b/src/http/index.js
index 53dda95..62dd49f 100644
--- a/src/http/index.js
+++ b/src/http/index.js
@@ -1,12 +1,6 @@
import axios from 'axios'
-import {
- handleResponseSuccess,
- handleResponseFail,
- handleRequest
-} from './interceptor-handler'
-import {
- showFullScreenLoading
-} from '@/utils/loading'
+import {handleRequest, handleResponseFail, handleResponseSuccess} from './interceptor-handler'
+import {showFullScreenLoading} from '@/utils/loading'
// URL 璁板綍鍣�
import urlRecorder from './url-recorder'
@@ -23,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 {
@@ -64,10 +58,11 @@
* @param {boolean?} throwError 鏄惁涓嶄娇鐢ㄩ粯璁ょ殑寮傚父澶勭悊鏂规硶锛岃�屾妸寮傚父鎶涘嚭鏉�
* @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: {
@@ -100,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,
@@ -118,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鏍煎紡鐨勬暟鎹�傚苟缁熶竴澶勭悊甯歌鐨勯敊璇�
@@ -208,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