From b4995fc1565b83400db692e00f5253727e53564d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 11 八月 2022 11:26:59 +0800
Subject: [PATCH] 2022-08-11

---
 src/templates/zshare/modalform/index.jsx |    2 
 src/api/index.js                         |   29 ++++++++++++++
 src/tabviews/zshare/fileupload/index.jsx |   40 +++++++++++++++++---
 3 files changed, 63 insertions(+), 8 deletions(-)

diff --git a/src/api/index.js b/src/api/index.js
index 1487f05..39c477c 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -29,7 +29,7 @@
 axios.interceptors.request.use((config) => {
   if (config.url.includes('LoginAndRedirect') || config.url.includes('getjsonresult') || config.url.includes('wxNativePay')) {
     config.data = qs.stringify(config.data)
-  } else if (config.url.includes('doupload') || config.url.includes('dopreload')) {
+  } else if (/\/doupload|\/dopreload|\/upload/.test(config.url)) {
     config.headers = { 'Content-Type': 'multipart/form-data' }
   } else if (config.method === 'post' && config.data) {
     config.data = JSON.stringify(config.data)
@@ -928,6 +928,33 @@
   }
 
   /**
+   * @description oss鏂囦欢涓婁紶
+   */
+  fileOssUpload (param) {
+    let _url = window.GLOB.location + '/file/oss/upload'
+    if (process.env.NODE_ENV === 'production') {
+      _url = document.location.origin + '/file/oss/upload'
+    }
+    if (/^http:\/\/(qingqiumarket.cn|cloud.mk9h.cn|sso.mk9h.cn)/.test(_url)) {
+      _url = window.GLOB.location + ':8080/file/oss/upload'
+      if (process.env.NODE_ENV === 'production') {
+        _url = document.location.origin + ':8080/file/oss/upload'
+      }
+    } else if (/^https:\/\/(qingqiumarket.cn|cloud.mk9h.cn|sso.mk9h.cn)/.test(_url)) {
+      _url = window.GLOB.location + ':8443/file/oss/upload'
+      if (process.env.NODE_ENV === 'production') {
+        _url = document.location.origin + ':8443/file/oss/upload'
+      }
+    }
+    
+    return axios({
+      url: _url,
+      method: 'post',
+      data: param
+    })
+  }
+
+  /**
    * @description 鑾峰彇寰俊鏀粯浜岀淮鐮�
    */
   getWxNativePay (param) {
diff --git a/src/tabviews/zshare/fileupload/index.jsx b/src/tabviews/zshare/fileupload/index.jsx
index 637a480..ac12353 100644
--- a/src/tabviews/zshare/fileupload/index.jsx
+++ b/src/tabviews/zshare/fileupload/index.jsx
@@ -28,7 +28,7 @@
     maxFile: null,
     rduri: '',
     limit: 2,
-    compress: false,
+    compress: 'false',
     fileType: 'text',
     showprogress: false,
     filelist: []
@@ -66,13 +66,12 @@
 
     let accept = ''
     let accepts = null
-    let compress = false
+    let compress = config.compress || 'false'
     let maxFile = config.maxfile && config.maxfile > 0 ? config.maxfile : null
-    if (config.compress === 'true' || config.compress === 'base64') {
-      compress = true
+    if (compress === 'true' || compress === 'base64') {
       accepts = ['.jpg', '.png', '.gif', '.jpeg']
       accept = accepts.join(',')
-      if (config.compress === 'base64') {
+      if (compress === 'base64') {
         maxFile = 1
       }
     } else if (config.suffix) {
@@ -249,7 +248,7 @@
       percent: 0
     })
 
-    if (compress) {
+    if (compress === 'true' || compress === 'base64') {
       let reader = new FileReader()
       let fileSize = file.size / 1024 / 1024
       let compressRate = 0.9
@@ -345,6 +344,35 @@
 
       reader.readAsDataURL(file)
       return false
+    } else if (compress === 'oss') {
+      let _param = new FormData()
+      _param.append('multipartFile', file)
+      _param.append('UserID', sessionStorage.getItem('UserID') || '')
+
+      Api.fileOssUpload(_param).then(res => {
+        if (res.status) {
+          if (res.urlPath) {
+            let path = (/^\/\//.test(res.urlPath) ? 'https:' : '') + res.urlPath
+            this.onUpdate(path)
+            this.setState({
+              percent: 100
+            }, () => {
+              setTimeout(() => {
+                this.setState({
+                  showprogress: false,
+                  percent: 0
+                })
+              }, 200)
+            })
+          } else {
+            this.onFail('鏂囦欢涓婁紶澶辫触锛�')
+          }
+        } else {
+          this.onFail(res.message || '鏂囦欢涓婁紶澶辫触锛�')
+        }
+      })
+
+      return false
     }
 
     // 鍏煎鎬х殑澶勭悊
diff --git a/src/templates/zshare/modalform/index.jsx b/src/templates/zshare/modalform/index.jsx
index fc1cc3c..08bcdb9 100644
--- a/src/templates/zshare/modalform/index.jsx
+++ b/src/templates/zshare/modalform/index.jsx
@@ -230,7 +230,7 @@
     } else if (type === 'fileupload') {
       if (this.record.compress === 'true') {
         shows.push('limit', 'rduri', 'proRduri')
-      } else {
+      } else if (this.record.compress !== 'base64') {
         shows.push('suffix')
       }
       if (this.record.miniSet === 'custom') {

--
Gitblit v1.8.0