From 78c84cf61b2a7f558582673a3eecdf8b91eb24c3 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期五, 17 四月 2026 16:48:26 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/education/compilequer/index.vue |  129 ++++++++++++++++++++++++++----------------
 1 files changed, 80 insertions(+), 49 deletions(-)

diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index f5c3f3f..ef4061c 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -360,60 +360,74 @@
       fileList: [],
       // 宸ュ叿鏍忛厤缃�
       toolbarConfig: {
-        excludeKeys: [
-          "group-video",
-          "insertVideo",
-          "uploadVideo",
-          "emotion",
-          "codeBlock",
-        ],
+        excludeKeys: ["emotion", "codeBlock"],
       },
 
-      // 缂栬緫鍣ㄩ厤缃�
       editorConfig: {
-        placeholder: "璇疯緭鍏ュ鏁欏唴瀹�...",
+        placeholder: "璇疯緭鍏ュ唴瀹�...",
         MENU_CONF: {
+          // 鍥剧墖涓婁紶閰嶇疆
           uploadImage: {
             server: process.env.VUE_APP_BASE_API + "/common/uploadSort",
             fieldName: "file",
-            maxFileSize: 2 * 1024 * 1024,
-            maxNumberOfFiles: 1,
-            allowedFileTypes: ["image/*"],
             headers: {
               Authorization: "Bearer " + getToken(),
             },
-            customUpload: async (file, insertFn) => {
-              try {
-                const formData = new FormData();
-                formData.append("file", file);
-
-                const response = await axios.post(
-                  process.env.VUE_APP_BASE_API + "/common/uploadSort",
-                  formData,
-                  {
-                    headers: {
-                      // "Content-Type": "multipart/form-data",
-                      Authorization: "Bearer " + getToken(),
-                    },
-                  }
+            // 鑷畾涔夋彃鍏ュ浘鐗�
+            customInsert: (res, insertFn) => {
+              const url = res.url || res.data || res.filePath;
+              if (url) {
+                // 澶勭悊鍐呯綉鍦板潃杞崲
+                const processedUrl = url.replace(
+                  "http://192.168.191.181:8095/profile/upload",
+                  "http://m.zjtongde.com:13871/prod-api/profile/upload"
                 );
-
-                if (response.data && response.data.url) {
-                  let imgUrl = response.data.url;
-                  // imgUrl = imgUrl.replace(
-                  //   "http://218.108.11.22:8093/profile-api/upload",
-                  //   "http://192.88.117.236:8090/prod-api/profile/upload"
-                  // );
-                  imgUrl = imgUrl.replace(
-                    "http://m.zjtongde.com:13871/prod-api/profile/upload",
-                    "http://192.88.117.236:8090/prod-api/profile/upload"
-                  );
-                  insertFn(imgUrl);
-                }
-              } catch (error) {
-                console.error("鍥剧墖涓婁紶澶辫触", error);
-                this.$message.error("鍥剧墖涓婁紶澶辫触");
+                insertFn(processedUrl);
               }
+            },
+            // 涓婁紶鎴愬姛鍥炶皟
+            onSuccess: (file, res) => {
+              console.log("鍥剧墖涓婁紶鎴愬姛", res);
+              return res.url || res.data || res.filePath;
+            },
+            onFailed: (file, res) => {
+              this.$message.error("鍥剧墖涓婁紶澶辫触");
+              console.error("鍥剧墖涓婁紶澶辫触", res);
+            },
+          },
+
+          // 瑙嗛涓婁紶閰嶇疆
+          uploadVideo: {
+            server: process.env.VUE_APP_BASE_API + "/common/uploadSort",
+            fieldName: "file",
+            maxFileSize: 50 * 1024 * 1024, // 50MB
+            allowedFileTypes: ["video/*"],
+            headers: {
+              Authorization: "Bearer " + getToken(),
+            },
+            // 鑷畾涔夋彃鍏ヨ棰�
+            customInsert: (res, insertFn) => {
+              const url = res.url || res.data || res.filePath;
+              if (url) {
+                // 澶勭悊鍐呯綉鍦板潃杞崲
+                const processedUrl = url.replace(
+                  "http://192.168.191.181:8095/profile/upload",
+                  "http://m.zjtongde.com:13871/prod-api/profile/upload"
+                );
+                insertFn(processedUrl, "瑙嗛");
+              }
+            },
+            onSuccess: (file, res) => {
+              console.log("瑙嗛涓婁紶鎴愬姛", res);
+              return res.url || res.data || res.filePath;
+            },
+            onFailed: (file, res) => {
+              this.$message.error("瑙嗛涓婁紶澶辫触");
+              console.error("瑙嗛涓婁紶澶辫触", res);
+            },
+            onError: (file, err, res) => {
+              this.$message.error("瑙嗛涓婁紶鍑洪敊");
+              console.error("瑙嗛涓婁紶鍑洪敊", err);
             },
           },
         },
@@ -658,17 +672,32 @@
       // 鑾峰彇鎵�鏈夌殑video鍏冪礌
       var videos = doc.querySelectorAll("video");
       var images = doc.querySelectorAll("img");
+      console.log(videos, "videos");
+      console.log(images, "images");
 
       // 閬嶅巻鎵�鏈夌殑video鍏冪礌骞舵浛鎹rc灞炴��
       videos.forEach(function (video) {
+        // 鍏堟鏌ideo鍏冪礌鑷韩鐨剆rc灞炴��
         var src = video.getAttribute("src");
-        if (src.startsWith(oldUrlBase)) {
+        if (src && src.startsWith(oldUrlBase)) {
           video.setAttribute("src", src.replace(oldUrlBase, newUrlBase));
         }
-      });
-      console.log(images,'images');
 
-       images.forEach(function (img) {
+        // 鐒跺悗妫�鏌ideo鍏冪礌鍐呴儴鐨剆ource瀛愬厓绱�
+        var sources = video.querySelectorAll("source");
+        sources.forEach(function (source) {
+          var sourceSrc = source.getAttribute("src");
+          if (sourceSrc && sourceSrc.startsWith(oldUrlBase)) {
+            source.setAttribute(
+              "src",
+              sourceSrc.replace(oldUrlBase, newUrlBase)
+            );
+          }
+        });
+      });
+      console.log(images, "images");
+
+      images.forEach(function (img) {
         var src = img.getAttribute("src");
         if (src.startsWith(oldUrlBase)) {
           img.setAttribute("src", src.replace(oldUrlBase, newUrlBase));
@@ -700,11 +729,13 @@
         content: this.parserdom(this.content),
         fileName: this.generateRandomHtmlFilename(),
       }).then((res) => {
+        console.log(55);
+
         this.ruleForm.richText = res.msg;
         this.ruleForm.richText = res.msg.replace(
-            this.oldPattern,
-            this.newPattern
-          );
+          this.oldPattern,
+          this.newPattern
+        );
         console.log(this.ruleForm.richText, "this.ruleForm.richText");
         // 澶勭悊鍐呯綉html
         addrichText({

--
Gitblit v1.9.3