From 7ef2454c7df85c9a8fd493552398d4ac07c460d4 Mon Sep 17 00:00:00 2001
From: pyt <626651354@qq.com>
Date: 星期一, 23 六月 2025 09:43:56 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory

---
 laboratory/src/components/AiEditor/index.vue |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 106 insertions(+), 1 deletions(-)

diff --git a/laboratory/src/components/AiEditor/index.vue b/laboratory/src/components/AiEditor/index.vue
index 9433983..f09af73 100644
--- a/laboratory/src/components/AiEditor/index.vue
+++ b/laboratory/src/components/AiEditor/index.vue
@@ -7,6 +7,8 @@
 <script>
 import { AiEditor } from "aieditor";
 import 'aieditor/dist/style.css'
+// import { customUploadRequest, getFullUrl } from '@/utils/utils'
+import apiConfig from '@/utils/baseurl'
 
 export default {
   name: 'AiEditor',
@@ -101,7 +103,110 @@
         // 禁用调整大小功能
         resize: false,
         // 添加唯一标识
-        id: `editor-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`
+        id: `editor-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
+        // 自定义图片上传功能
+        image: {
+          uploadUrl: apiConfig.imgUrl,
+          uploadHeaders: {
+            Authorization: sessionStorage.getItem('token') || '',
+            // ...headers
+          },
+          uploader: (file, uploadUrl, headers, formName = 'file') => {
+            const formData = new FormData();
+            formData.append('file', file);
+            return new Promise((resolve, reject) => {
+              fetch(apiConfig.imgUrl, {
+                method: "post",
+                headers: { 'Accept': 'application/json', ...headers },
+                body: formData,
+              }).then((resp) => resp.json())
+                .then(json => {
+                  let data = {
+                    "errorCode": 0,
+                    "data": {
+                      "src": apiConfig.showImgUrl + json.msg,
+                      "alt": "图片 alt"
+                    }
+                  }
+                  resolve(data);
+                }).catch((error) => {
+                  console.log('error error', error)
+                  // reject(error);
+                })
+            });
+          },
+        },
+        video: {
+          uploadUrl: apiConfig.imgUrl,
+          uploadFormName: "video", //上传时的文件表单名称
+          uploadHeaders: {
+            Authorization: sessionStorage.getItem('token') || '',
+          },
+          uploader: (file, uploadUrl, headers, formName = 'file') => {
+            const formData = new FormData();
+            formData.append('file', file);
+            return new Promise((resolve, reject) => {
+              fetch(apiConfig.imgUrl, {
+                method: "post",
+                headers: { 'Accept': 'application/json', ...headers },
+                body: formData,
+              }).then((resp) => resp.json())
+                .then(json => {
+                  let data = {
+                    "errorCode": 0,
+                    "data": {
+                      "src": apiConfig.showImgUrl + json.msg,
+                      "poster": "http://your-domain.com/poster.jpg"
+                    }
+                  }
+                  resolve(data);
+                }).catch((error) => {
+                  console.log('error error', error)
+                  // reject(error);
+                })
+            });
+          },
+
+        },
+        attachment: {
+          uploadUrl: apiConfig.imgUrl,
+          uploadFormName: "attachment", //上传时的文件表单名称
+          // uploadHeaders: {
+          //     "jwt": "xxxxx",
+          //     "other": "xxxx",
+          // },
+          uploadHeaders: () => {
+            return {
+              Authorization: sessionStorage.getItem('token') || '',
+            }
+          },
+          uploader: (file, uploadUrl, headers, formName = 'file') => {
+            const formData = new FormData();
+            formData.append('file', file);
+            return new Promise((resolve, reject) => {
+              fetch(apiConfig.imgUrl, {
+                method: "post",
+                headers: { 'Accept': 'application/json', ...headers },
+                body: formData,
+              }).then((resp) => resp.json())
+                .then(json => {
+                  let data = {
+                    "errorCode": 0,
+                    "data": {
+                      "href": apiConfig.showImgUrl + json.msg,
+                      "fileName": file.name
+                    }
+                  }
+                  resolve(data);
+                }).catch((error) => {
+                  console.log('error error', error)
+                  // reject(error);
+                })
+            });
+          },
+
+        },
+
       }
 
       try {

--
Gitblit v1.7.1