Просмотр исходного кода

fix(pptEasy): 过滤PPT数据中的图片元素后生成JSON文件

修改addCourse2.vue和addCourse3.vue文件,在生成JSON文件前先深拷贝PPT数据并过滤掉所有图片类型元素,避免原始数据被修改
lsc 3 недель назад
Родитель
Сommit
037f0d19ae

+ 9 - 2
src/components/pages/pptEasy/addCourse2.vue

@@ -1623,9 +1623,16 @@ export default {
       if (this.uploadWorkLoading) return;
       this.uploadWorkLoading = true;
       let _pptData = await this.getPPtJson();
-
+      const _pptData2 = JSON.parse(JSON.stringify(_pptData))
+      if (_pptData2.slides) {
+        _pptData2.slides.forEach((slide) => {
+          if (slide.elements) {
+            slide.elements = slide.elements.filter((element) => element.type !== 'image')
+          }
+        })
+      }
       // 用_pptData生成json文件,并生成File对象
-      const pptJsonStr = JSON.stringify(_pptData, null, 2);
+      const pptJsonStr = JSON.stringify(_pptData2, null, 2);
       const pptJsonFile = new File([pptJsonStr], this.courseName + ".json", { type: "application/json" });
       // 你可以根据需要将pptJsonFile上传或保存
 

+ 9 - 2
src/components/pages/pptEasy/addCourse3.vue

@@ -1901,9 +1901,16 @@ export default {
         this.uploadWorkLoading = true;
       }
       let _pptData = await this.getPPtJson();
-
+      const _pptData2 = JSON.parse(JSON.stringify(_pptData))
+      if (_pptData2.slides) {
+        _pptData2.slides.forEach((slide) => {
+          if (slide.elements) {
+            slide.elements = slide.elements.filter((element) => element.type !== 'image')
+          }
+        })
+      }
       // 用_pptData生成json文件,并生成File对象
-      const pptJsonStr = JSON.stringify(_pptData, null, 2);
+      const pptJsonStr = JSON.stringify(_pptData2, null, 2);
       const pptJsonFile = new File([pptJsonStr], this.courseName + ".json", { type: "application/json" });
       // 你可以根据需要将pptJsonFile上传或保存
       console.log(_url)