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 copy.vue |  115 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 61 insertions(+), 54 deletions(-)

diff --git a/src/views/knowledge/education/compilequer/index copy.vue b/src/views/knowledge/education/compilequer/index copy.vue
index 18f6baf..4890b23 100644
--- a/src/views/knowledge/education/compilequer/index copy.vue
+++ b/src/views/knowledge/education/compilequer/index copy.vue
@@ -432,70 +432,77 @@
       toolbarConfig: {},
       editorConfig: {
         placeholder: "璇疯緭鍏ュ唴瀹�...",
+        MENU_CONF: {
+          // 鍥剧墖涓婁紶閰嶇疆
+          uploadImage: {
+            server: process.env.VUE_APP_BASE_API + "/common/uploadSort",
+            fieldName: "file",
+            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);
+              }
+            },
+          },
+
+          // 瑙嗛涓婁紶閰嶇疆
+          uploadVideo: {
+            server: process.env.VUE_APP_BASE_API + "/common/uploadSort",
+            fieldName: "file",
+            maxFileSize: 50 * 1024 * 1024, // 50MB
+            allowedFileTypes: ["video/*"],
+            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"
+                );
+                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);
+            },
+          },
+        },
         menus: [
           "head",
           "bold",
           "italic",
           "underline",
           "image",
+          "video", // 纭繚鏈� video
           "link",
           "list",
           "undo",
           "redo",
-          "file", // 娣诲姞鑷畾涔夋枃浠朵笂浼犺彍鍗�
+          "file",
         ],
-        uploadImgServer: process.env.VUE_APP_BASE_API + "/common/uploadSort", // 鍥剧墖涓婁紶鎺ュ彛
-        uploadImgHeaders: {
-          Authorization: "Bearer " + getToken(),
-        }, // 鑷畾涔変笂浼犵殑 headers
-        uploadImgParams: { key: "value" }, // 鑷畾涔変笂浼犵殑鍙傛暟
-        uploadImgMaxSize: 2 * 1024 * 1024, // 鍥剧墖鏈�澶уぇ灏忥紝鍗曚綅 Byte
-        uploadImgMaxLength: 1, // 涓�娆℃渶澶氫笂浼犲浘鐗囨暟閲�
-        uploadImgTimeout: 3 * 60 * 1000, // 瓒呮椂鏃堕棿锛屽崟浣� ms
-        uploadImgHooks: {
-          customInsert: (insertImgFn, result) => {
-            const url = result.url; // 鑾峰彇鍥剧墖鍦板潃
-            insertImgFn(url); // 鎻掑叆鍥剧墖
-          },
-        },
-        customMenus: {
-          file: {
-            tip: "涓婁紶鏂囦欢",
-            click: (editor) => {
-              const input = document.createElement("input");
-              input.type = "file";
-              input.accept =
-                "application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"; // 鏀寔鐨勬枃浠剁被鍨�
-              input.onchange = (e) => {
-                const file = e.target.files[0];
-                if (!file) return;
-                const formData = new FormData();
-                formData.append("file", file);
-
-                // 纭繚 process.env.VUE_APP_BASE_API 鏄纭殑
-                const uploadUrl =
-                  process.env.VUE_APP_BASE_API + "/common/uploadSort";
-                axios
-                  .post(uploadUrl, formData, {
-                    headers: {
-                      Authorization: "Bearer " + getToken(),
-                    },
-                  })
-                  .then((res) => {
-                    const url = res.data.url; // 鑾峰彇鏂囦欢鍦板潃
-                    // 鎻掑叆鏂囦欢閾炬帴浣滀负鏅�氭枃鏈�
-                    editor.txt.append(url + " ");
-                    // 鎴栬�呮彃鍏ユ枃浠堕摼鎺ヤ綔涓鸿秴閾炬帴
-                    // editor.cmd.do('insertLink', { name: '鏂囦欢閾炬帴', url: url });
-                  })
-                  .catch((err) => {
-                    console.error("鏂囦欢涓婁紶澶辫触", err);
-                  });
-              };
-              input.click();
-            },
-          },
-        },
       },
       modes: "default", // or 'simple'
       headers: {
@@ -732,7 +739,7 @@
 
       // 瀹氫箟瑕佹浛鎹㈢殑鏂版棫URL
       var oldUrlBase = this.oldPattern;
-      var newUrlBase =this.newPattern;
+      var newUrlBase = this.newPattern;
 
       // 鑾峰彇鎵�鏈夌殑video鍏冪礌
       var videos = doc.querySelectorAll("video");

--
Gitblit v1.9.3