From b5a56d53e44c426fa188ba3e4e1db3eb779e2fd9 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 11 九月 2024 21:49:21 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/education/compilequer/index.vue |  216 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 159 insertions(+), 57 deletions(-)

diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index c605e6e..df401b1 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -255,7 +255,9 @@
       <!-- 瀹f暀鍐呭 -->
       <div v-if="Editprogress == 2">
         <el-row :gutter="20">
-          <el-col :span="4"><div class="leftvlue-jbxx">瀹f暀鍐呭</div></el-col>
+          <el-col :span="4">
+            <div class="leftvlue-jbxx">瀹f暀鍐呭</div>
+          </el-col>
         </el-row>
 
         <div>
@@ -266,7 +268,7 @@
             label-width="100px"
             class="demo-ruleForm"
           >
-            <el-row gutter="20">
+            <el-row :gutter="20">
               <el-col :span="12">
                 <el-form-item label="璧勬枡褰㈠紡" prop="region">
                   <el-select
@@ -299,8 +301,8 @@
                   <el-button type="info" @click="closeFm('ruleForm')"
                     >鍏抽棴</el-button
                   >
-                </div></el-col
-              >
+                </div>
+              </el-col>
             </el-row>
           </el-form>
         </div>
@@ -429,7 +431,7 @@
           url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
         },
       ],
-      content: "", //鏈�缁堜繚瀛樼殑鍐呭
+      content: `<p>娴嬭瘯</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://218.108.11.22:8093/profile-api/upload/vadio/钀ュ吇娉垫搷浣滆鑼�.mp4"></video><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://218.108.11.22:8093/profile-api/upload/vadio/娉ㄥ皠鍣ㄦ帹娉�.mp4"></video><p>321</p>"`, //鏈�缁堜繚瀛樼殑鍐呭
       fileName: "", //鏂囦欢鍚�
       dynamicTags: [],
       inputVisible: false,
@@ -508,6 +510,13 @@
       deptList: [],
       tempDetpRelevanceslist: [],
       props: { multiple: true, value: "deptId", label: "deptName" },
+      // 鍐呯綉鐨勯儴鍒嗭紙鏂囦欢锛�
+      oldPattern: "http://192.168.191.181:8095/profile/upload",
+      // 鍐呯綉鐨勯儴鍒嗭紙鏂囦欢锛�
+      oldPatternhtml: "/http:\/\/192\.168\.191\.181:8095\/profile\/upload\//g",
+      // 澶栫綉閮ㄥ垎锛堟枃浠讹級
+      newPattern: "http://218.108.11.22:8093/profile-api/upload",
+
       xjxsoptions: [
         {
           value: "1",
@@ -581,11 +590,14 @@
       if (this.id) {
         getlibraryinfo({ id: this.id }).then((res) => {
           this.ruleForm = res.data[0];
-          this.ruleForm.campus = this.ruleForm.campus.split(",");
+          if (this.ruleForm.campus)
+            this.ruleForm.campus = this.ruleForm.campus.split(",");
           this.dynamicTags = res.data[0].heLibraryTagList.map(
             this.processElement
           );
-          this.Getmissioncontent(this.ruleForm.htmlRichText);
+          if (this.ruleForm.htmlRichText) {
+            this.Getmissioncontent(this.ruleForm.htmlRichText);
+          }
           if (this.ruleForm.deptNames) {
             this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
           }
@@ -606,15 +618,51 @@
       listDept(this.queryParams).then((response) => {
         this.deptList = this.handleTree(response.data, "deptId");
       });
-      this.loading = false;
-    },
 
+      // ------------------
+
+      // let html =
+      //   '<p>娴嬭瘯</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://192.168.191.181:8095/profile/upload/vadio/钀ュ吇娉典粙缁�.mp4"></video><p>娴嬭瘯111</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://192.168.191.181:8095/profile/upload/vadio/娉ㄥ皠鍣ㄦ帹娉�.mp4"></video><p><br></p>';
+      // // html = html.parserdom(this.oldPattern, this.newPattern);
+      // html = this.parserdom(html);
+      // console.log(html, "html");
+
+      // this.loading = false;
+    },
+    // parser
+    parserdom(html) {
+      // 鍒涘缓涓�涓柊鐨凞OM瑙f瀽鍣�
+      var parser = new DOMParser();
+      // 灏嗗瓧绗︿覆瑙f瀽涓烘枃妗e璞�
+      var doc = parser.parseFromString(html, "text/html");
+
+      // 瀹氫箟瑕佹浛鎹㈢殑鏂版棫URL
+      var oldUrlBase = "http://192.168.191.181:8095/profile/upload";
+      var newUrlBase = "http://218.108.11.22:8093/profile-api/upload";
+
+      // 鑾峰彇鎵�鏈夌殑video鍏冪礌
+      var videos = doc.querySelectorAll("video");
+
+      // 閬嶅巻鎵�鏈夌殑video鍏冪礌骞舵浛鎹rc灞炴��
+      videos.forEach(function (video) {
+        var src = video.getAttribute("src");
+        if (src.startsWith(oldUrlBase)) {
+          video.setAttribute("src", src.replace(oldUrlBase, newUrlBase));
+        }
+      });
+
+      // 灏嗕慨鏀瑰悗鐨勬枃妗h浆鎹㈠洖瀛楃涓�
+      var newContent = doc.body.innerHTML;
+      return newContent;
+    },
     submitForm(formName) {
       let tgs = [];
       this.dynamicTags.forEach((item) => {
         tgs.push(item.tagname);
       });
-      this.ruleForm.campus = this.ruleForm.campus.join(",");
+      if (this.ruleForm.campus) {
+        this.ruleForm.campus = this.ruleForm.campus.join(",");
+      }
       this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : "";
       this.ruleForm.otherdata = JSON.stringify(this.variablelist);
       this.ruleForm.hetype = 1;
@@ -623,54 +671,59 @@
         this.ruleForm.suitway.length != 0
           ? this.ruleForm.suitway.join(",")
           : "";
+
       addrichText({
-        content: this.content,
+        content: this.parserdom(this.content),
         fileName: this.generateRandomHtmlFilename(),
       }).then((res) => {
         this.ruleForm.richText = res.msg;
-        this.ruleForm.htmlRichText = this.replaceIpAndPort(res.msg);
-        this.ruleForm.htmlRichText = this.removePathSegment(this.ruleForm.htmlRichText,'prod-api');
-        console.log(this.ruleForm.htmlRichText,'this.ruleForm.htmlRichText');
+        console.log(this.ruleForm.richText, "this.ruleForm.richText");
+        // 澶勭悊鍐呯綉html
+        addrichText({
+          // content: this.content,
+          fileName: this.generateRandomHtmlFilename(),
+        }).then((resf) => {
+          this.ruleForm.htmlRichText = resf.msg.replace(
+            this.newPattern,
+            this.oldPattern
+          );
+          console.log(this.ruleForm.htmlRichText, "this.ruleForm.htmlRichText");
 
-        if (this.id) {
-          this.ruleForm.isoperation = 2;
-          compilelibrary(this.ruleForm).then((res) => {
-            this.$modal.msgSuccess("缂栬緫鎴愬姛");
-            this.confirmillness();
-            this.$router.go(-1);
-          });
-        } else {
-          this.ruleForm.isoperation = 1;
-          compilelibrary(this.ruleForm).then((res) => {
-            this.$modal.msgSuccess("鏂板鎴愬姛");
-            this.confirmillness(res.data);
-            this.$router.go(-1);
-          });
-        }
+          if (this.id) {
+            this.ruleForm.isoperation = 2;
+            compilelibrary(this.ruleForm).then((res) => {
+              if (res.code == 200) {
+                this.$modal.msgSuccess("缂栬緫鎴愬姛");
+                this.confirmillness();
+                this.$router.go(-1);
+              }
+            });
+          } else {
+            this.ruleForm.isoperation = 1;
+            compilelibrary(this.ruleForm).then((res) => {
+              if (res.code == 200) {
+                this.$modal.msgSuccess("鏂板鎴愬姛");
+                this.confirmillness(res.data);
+                this.$router.go(-1);
+              }
+            });
+          }
+        });
       });
     },
-    replaceIpAndPort(path) {
-      // 姝e垯琛ㄨ揪寮忓尮閰岻P鍦板潃鍜岀鍙�
-      const ipPortRegex = /(\b(?:\d{1,3}\.){3}\d{1,3}(?::\d+)?)/;
-      // 鏇挎崲涓烘寚瀹氱殑IP鍦板潃鍜岀鍙�
-      return path.replace(ipPortRegex, "192.168.191.181:8095");
-    },
-    removePathSegment(url, segment) {
-    // 浣跨敤姝e垯琛ㄨ揪寮忓叏灞�鍖归厤骞舵浛鎹㈡帀鎸囧畾鐨勮矾寰勬
-    return url.replace(new RegExp('/' + segment + '/?', 'g'), '/');
-},
+
     generateRandomHtmlFilename() {
-    // 鐢熸垚涓�涓�0鍒�1涔嬮棿鐨勯殢鏈烘暟锛屽苟灏嗗叾杞崲涓哄瓧绗︿覆
-    let randomNumber = Math.random().toString();
-    // 绉婚櫎鍓嶉潰鐨�0鍜屽皬鏁扮偣
-    randomNumber = randomNumber.substring(6);
-    // 纭繚鐢熸垚鐨勯殢鏈烘暟鏄竴瀹氶暱搴︾殑锛屼緥濡�8浣�
-    while (randomNumber.length < 8) {
-        randomNumber = '0' + randomNumber;
-    }
-    // 鎷兼帴涓�.html鍚庣紑
-    return randomNumber + '.html';
-},
+      // 鐢熸垚涓�涓�0鍒�1涔嬮棿鐨勯殢鏈烘暟锛屽苟灏嗗叾杞崲涓哄瓧绗︿覆
+      let randomNumber = Math.random().toString();
+      // 绉婚櫎鍓嶉潰鐨�0鍜屽皬鏁扮偣
+      randomNumber = randomNumber.substring(6);
+      // 纭繚鐢熸垚鐨勯殢鏈烘暟鏄竴瀹氶暱搴︾殑锛屼緥濡�8浣�
+      while (randomNumber.length < 8) {
+        randomNumber = "0" + randomNumber;
+      }
+      // 鎷兼帴涓�.html鍚庣紑
+      return randomNumber + ".html";
+    },
 
     // 淇濆瓨鐤剧梾
     confirmillness(guid) {
@@ -877,7 +930,11 @@
       console.log("涓婁紶鎴愬姛");
       //鎷兼帴鍑轰笂浼犵殑鍥剧墖鍦ㄦ湇鍔″櫒鐨勫畬鏁村湴鍧�
       let imgUrl = res.url;
-      imgUrl=this.replaceIpAndPort(imgUrl)
+      console.log(res.url);
+
+      imgUrl = imgUrl.replace(this.newPattern, this.oldPattern);
+      console.log(imgUrl, "imgUrl");
+
       let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1);
       this.fileName = this.getFileNameFromPath(res.url);
 
@@ -941,17 +998,18 @@
       console.log(res);
       console.log(file);
     },
-    // 涓婁紶鍥剧墖鎴愬姛
+    // 涓婁紶word鎴愬姛
     uploadEditorSuccessword(res, file) {
-      console.log("涓婁紶鎴愬姛");
-      const data = null;
+      console.log("涓婁紶word鏂囦欢鎴愬姛");
       console.log(res, file, "word");
+      let fileurl = res.url.replace(this.newPattern, this.oldPattern);
       axios
-        .get(res.url)
+        .get(fileurl)
         .then((response) => {
           console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭
-          this.content = response.data;
-          this.texturl = res.url;
+          this.$nextTick(() => {
+            this.content = response.data;
+          });
           this.fileName = this.getFileNameFromPath(response.url);
           console.log(this.fileName, "this.fileName");
         })
@@ -972,6 +1030,7 @@
           console.error("Failed to fetch file:", error);
         });
     },
+    // 澶勭悊url
   },
 };
 </script>
@@ -980,6 +1039,7 @@
 .Questionnairemanagement {
   // display: flex;
 }
+
 .sidecolumn {
   // width: 300px;
   // min-height: 100vh;
@@ -994,6 +1054,7 @@
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
 }
+
 .leftvlue {
   //   display: flex;
   //   flex: 1;
@@ -1003,20 +1064,25 @@
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
+
   .mulsz {
     font-size: 20px;
   }
+
   .leftvlue-jbxx {
     margin-bottom: 50px;
     font-size: 20px;
+
     span {
       position: absolute;
       right: 80px;
     }
   }
+
   .demo-cascader {
     margin-right: 20px;
   }
+
   .PreviewTemplate {
     color: #02a7f0;
     cursor: pointer;
@@ -1024,6 +1090,7 @@
     margin: 0 20px;
   }
 }
+
 .xinz-inf {
   font-size: 18px;
   white-space: nowrap;
@@ -1035,6 +1102,7 @@
   .el-tag + .el-tag {
     margin-left: 10px;
   }
+
   .button-new-tag {
     margin-left: 10px;
     height: 32px;
@@ -1042,12 +1110,14 @@
     padding-top: 0;
     padding-bottom: 0;
   }
+
   .input-new-tag {
     width: 90px;
     margin-left: 10px;
     vertical-align: bottom;
   }
 }
+
 .preview-left {
   margin: 20px;
   //   margin: 20px;
@@ -1056,41 +1126,51 @@
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
+
   .topic-dev {
     margin-bottom: 25px;
     font-size: 20px !important;
+
     .dev-text {
       margin-bottom: 10px;
     }
   }
 }
+
 .addtopic {
   margin-top: 30px;
 }
+
 .presentation {
   margin: 20px 0;
   display: flex;
+
   .presentation-left {
     width: 50%;
     height: 500px;
+
     .button-textxg {
       color: #024df0;
     }
+
     .button-textsc {
       color: #f52727;
     }
   }
+
   .presentation-right {
     width: 50%;
     height: 500px;
     padding: 20px;
     font-size: 18px;
     border: 1px solid #909091;
+
     span {
       padding: 0 35px;
       margin-right: 10px;
       border-bottom: 1px solid #909091;
     }
+
     .headline {
       font-size: 20px;
       border-left: 3px solid #41a1be;
@@ -1099,6 +1179,7 @@
     }
   }
 }
+
 ::v-deep .addtopic-input {
   input {
     background: #02a7f0;
@@ -1106,25 +1187,31 @@
     width: 150px;
   }
 }
+
 ::v-deep.el-step.is-vertical .el-step__title {
   font-size: 25px;
 }
+
 ::v-deep.el-input--medium {
   font-size: 18px !important;
 }
+
 ::v-deep.ruleFormaa.el-select {
   display: inline-block;
   position: relative;
   width: 700px;
 }
+
 .el-select__tags {
   font-size: 20px;
   max-width: 888px !important;
 }
+
 ::v-deep.el-radio__inner {
   width: 22px;
   height: 22px;
 }
+
 // ::v-deep.topic-dev.el-radio__label {
 //   font-size: 24px;
 // }
@@ -1133,19 +1220,23 @@
     font-size: 24px;
   }
 }
+
 ::v-deep.el-checkbox-group {
   span {
     font-size: 24px;
   }
 }
+
 .editor {
   line-height: normal !important;
   height: 600px;
   margin-bottom: 80px;
 }
+
 .ql-snow .ql-tooltip[data-mode="link"]::before {
   content: "璇疯緭鍏ラ摼鎺ュ湴鍧�:";
 }
+
 .ql-snow .ql-tooltip.ql-editing a.ql-action::after {
   border-right: 0px;
   content: "淇濆瓨";
@@ -1160,14 +1251,17 @@
 .ql-snow .ql-picker.ql-size .ql-picker-item::before {
   content: "14px";
 }
+
 .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before,
 .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before {
   content: "10px";
 }
+
 .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before,
 .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before {
   content: "18px";
 }
+
 .ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before,
 .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before {
   content: "32px";
@@ -1177,26 +1271,32 @@
 .ql-snow .ql-picker.ql-header .ql-picker-item::before {
   content: "鏂囨湰";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
   content: "鏍囬1";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
   content: "鏍囬2";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
   content: "鏍囬3";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
   content: "鏍囬4";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
   content: "鏍囬5";
 }
+
 .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
 .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
   content: "鏍囬6";
@@ -1206,10 +1306,12 @@
 .ql-snow .ql-picker.ql-font .ql-picker-item::before {
   content: "鏍囧噯瀛椾綋";
 }
+
 .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
 .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before {
   content: "琛嚎瀛椾綋";
 }
+
 .ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
 .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before {
   content: "绛夊瀛椾綋";

--
Gitblit v1.9.3