From f3d4db769ba9b51b799d981511a710fd443d0e08 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 21 四月 2025 12:18:03 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/components/editor/index.jsx |  152 ++++++--------------------------------------------
 1 files changed, 20 insertions(+), 132 deletions(-)

diff --git a/src/components/editor/index.jsx b/src/components/editor/index.jsx
index fb02a69..a9e96de 100644
--- a/src/components/editor/index.jsx
+++ b/src/components/editor/index.jsx
@@ -1,13 +1,10 @@
-import React, {Component} from 'react'
+import React, { Component } from 'react'
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
 import BraftEditor from 'braft-editor'
 import 'braft-editor/dist/index.css'
 import 'braft-extensions/dist/table.css'
-// import 'braft-editor/dist/output.css'
 import Table from 'braft-extensions/dist/table'
-import SparkMD5 from 'spark-md5'
-import moment from 'moment'
 
 import Api from '@/api'
 import './index.scss'
@@ -22,7 +19,7 @@
 
   state = {
     editorState: '',
-    encryption: 'false',
+    encryption: 'false'
   }
 
   UNSAFE_componentWillMount () {
@@ -52,6 +49,7 @@
       encryption
     })
   }
+
   shouldComponentUpdate (nextProps, nextState) {
     return !is(fromJS(this.props), fromJS(nextProps))
   }
@@ -73,37 +71,21 @@
     }
   }
 
-  shardupload = (params, param) => {
-    let _param = params.chunks.shift()
+  handleUpload(param) {
     let form = new FormData()
 
-    form.append('file', _param.binary)
-    form.append('fileMd5', params.file.fileMd5)
-    form.append('shardingMd5', _param.chunkMd5)
-    form.append('baseDomain', window.GLOB.baseurl)
-    form.append('rootPath', 'Content/images/upload/')
-    form.append('fileName', params.file.fileName)
-    form.append('fileExt', params.file.fileType)
-    form.append('shardingCnt', _param.chunks)
-    form.append('shardingNo', _param.chunk)
-    form.append('LoginUID', sessionStorage.getItem('LoginUID') || '')
-    form.append('UserID', sessionStorage.getItem('UserID') || '')
+    form.append('file', param.file)
 
-    Api.getLargeFileUpload(form).then(res => {
+    Api.getFileUpload(form).then(res => {
       if (res.status) {
-        if (params.chunks.length > 0) {
-          param.progress(Math.floor(100 * (_param.chunk / _param.chunks)))
-          this.shardupload(params, param)
+        if (res.urlPath) {
+          param.success({
+            url: res.urlPath
+          })
         } else {
-          if (res.urlPath) {
-            param.success({
-              url: res.urlPath
-            })
-          } else {
-            param.error({
-              url: '涓婁紶澶辫触锛�'
-            })
-          }
+          param.error({
+            url: '涓婁紶澶辫触锛�'
+          })
         }
       } else {
         param.error({
@@ -113,111 +95,17 @@
     })
   }
 
-  getuuid = () => {
-    let uuid = []
-    let _options = '0123456789abcdefghigklmnopqrstuv'
-    for (let i = 0; i < 19; i++) {
-      uuid.push(_options.substr(Math.floor(Math.random() * 0x20), 1))
-    }
-    uuid = uuid.join('')
-    return uuid
-  }
-
-  handleUpload(param) {
-    const file = param.file
-
-    let blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice
-    let chunkSize = 1024 * 1024 * 2                // 鍒囩墖姣忔2M
-    let chunks = Math.ceil(file.size / chunkSize)  // 鍒囩墖鎬绘暟
-    let currentChunk = 0                           // 褰撳墠涓婁紶鐨刢hunk
-    let spark = new SparkMD5.ArrayBuffer()         // 瀵筧rrayBuffer鏁版嵁杩涜md5鍔犲瘑锛屼骇鐢熶竴涓猰d5瀛楃涓�
-    let chunkFileReader = new FileReader()         // 鐢ㄤ簬璁$畻鍑烘瘡涓猚hunkMd5
-    let totalFileReader = new FileReader()         // 鐢ㄤ簬璁$畻鍑烘�绘枃浠剁殑fileMd5
-    let params = {chunks: [], file: {}}            // 鐢ㄤ簬涓婁紶鎵�鏈夊垎鐗囩殑md5淇℃伅
-
-    params.file.fileName = file.name.replace(/\.{1}[^.]*$/ig, '')  // 鏂囦欢鍚嶏紙鍘婚櫎鍚庣紑鍚嶏級
-    params.file.fileType = file.name.replace(/^.*\.{1}/ig, '')     // 鏂囦欢绫诲瀷
-    params.file.fileSize = file.size                               // 鏂囦欢澶у皬
-    params.file.fileChunks = chunks                                // 璁板綍鎵�鏈塩hunks鐨勯暱搴�
-
-    if (!/^[A-Za-z0-9]+$/.test(params.file.fileName)) {            // 鏂囦欢鍚嶇О鍚湁鑻辨枃鍙婃暟瀛椾箣澶栧瓧绗︽椂锛屽悕绉扮郴缁熺敓鎴�
-      params.file.fileName = moment().format('YYYYMMDDHHmmss') + this.getuuid()
-    }
-
-    totalFileReader.readAsArrayBuffer(file)
-    totalFileReader.onload = (e) => {   // 瀵规暣涓猼otalFile鐢熸垚md5
-      spark.append(e.target.result)
-      params.file.fileMd5 = spark.end() // 璁$畻鏁翠釜鏂囦欢鐨刦ileMd5
-
-      let _param = new FormData()
-      _param.append('fileMd5', params.file.fileMd5)
-      
-      Api.getFilePreUpload(_param).then(res => {
-        if (res.status && res.urlPath) {
-          param.success({
-            url: res.urlPath
-          })
-        } else if (res.shardings && res.shardings.length > 0) {
-          res.shardings.forEach(shard => {
-            if (shard.shardingNo && parseInt(shard.shardingNo) > currentChunk) {
-              currentChunk = parseInt(shard.shardingNo)
-            }
-          })
-          loadNext()
-        } else {
-          loadNext()
-        }
-      })
-    }
-
-    chunkFileReader.onload = (e) => {
-      spark.append(e.target.result)      // 瀵规瘡涓�鐗囧垎鐗囪繘琛宮d5鍔犲瘑
-      
-      params.chunks[params.chunks.length - 1].chunkMd5 = spark.end() // 娣诲姞鍒囩墖md5
-      
-      currentChunk++  // 姣忎竴娆″垎鐗噊nload,currentChunk閮介渶瑕佸鍔狅紝浠ヤ究鏉ヨ绠楀垎鐗囩殑娆℃暟
-
-      if (currentChunk < chunks) { // 褰撳墠鍒囩墖鎬绘暟娌℃湁杈惧埌鎬绘暟鏃�
-        loadNext()
-      } else {
-        this.shardupload(params, param)
-      }
-    }
-
-    chunkFileReader.onerror = () => {
-      param.error({
-        url: '涓婁紶澶辫触锛�'
-      })
-      console.warn('File reading failed.')
-    }
-    totalFileReader.onerror = () => {
-      param.error({
-        url: '涓婁紶澶辫触锛�'
-      })
-    }
-
-    let loadNext = () => {
-      let start = currentChunk * chunkSize              // 璁$畻鍒嗙墖鐨勮捣濮嬩綅缃�
-      let end = Math.min(file.size, start + chunkSize)  // 璁$畻鍒嗙墖鐨勭粨鏉熶綅缃�
-
-      let obj = {                                       // 姣忎竴涓垎鐗囬渶瑕佸寘鍚殑淇℃伅
-        chunk: currentChunk + 1,
-        binary: file.slice(start, end),
-        start: start,
-        end: end,
-        chunks
-      }
-
-      params.chunks.push(obj)
-      chunkFileReader.readAsArrayBuffer(blobSlice.call(file, start, end))
-    }
-  }
-
   render() {
+    const { config } = this.props
     const { editorState } = this.state
 
+    let style = null
+    if (config && config.contHeidht) {
+      style = {'--editor-height': config.contHeidht < 100 ? config.contHeidht + 'vh' : config.contHeidht + 'px'}
+    }
+
     return (
-      <div className="normal-braft-editor">
+      <div className="normal-braft-editor" style={style}>
         <BraftEditor
           value={editorState}
           onChange={this.handleEditorChange}

--
Gitblit v1.8.0