From e661c793b5bf790a86f7817b0557bc728220bfb1 Mon Sep 17 00:00:00 2001
From: zhongshujie <2862698242@qq.com>
Date: 星期五, 25 四月 2025 10:14:06 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout

---
 src/books/English/view/components/index.vue |  255 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 174 insertions(+), 81 deletions(-)

diff --git a/src/books/English/view/components/index.vue b/src/books/English/view/components/index.vue
index 601a887..ee551a8 100644
--- a/src/books/English/view/components/index.vue
+++ b/src/books/English/view/components/index.vue
@@ -1,28 +1,80 @@
 <template>
   <div class="page-main" @scroll="throttledScrollHandler">
-    <div class="page-content" :style="{
-      fontSize: fontSize ? fontSize + 'px' : '16px',
-      transform: `scale(${pageZoom ? pageZoom : 1})`,
-      transformOrigin: 'center top',
-    }">
-      <pageHeader v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList"></pageHeader>
-      <chapterOne @saveCharacters="saveCharacters" @closeMiniAudio="closeMiniAudio"
-        v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList"></chapterOne>
-      <chapterTwo @saveCharacters="saveCharacters" @closeMiniAudio="closeMiniAudio"
-        v-if="showCatalogList.indexOf(3) > -1" :showPageList="loadPageList"></chapterTwo>
-        <chapterThree @saveCharacters="saveCharacters" @closeMiniAudio="closeMiniAudio"
-        v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList"></chapterThree>
+    <div
+      class="page-content"
+      :style="{
+        fontSize: fontSize ? fontSize + 'px' : '16px',
+        transform: `scale(${pageZoom ? pageZoom : 1})`,
+        transformOrigin: 'center top',
+      }"
+    >
+      <pageHeader
+        v-if="showCatalogList.indexOf(1) > -1"
+        :showPageList="loadPageList"
+      ></pageHeader>
+      <chapterOne
+        @initViewer="initViewer"
+        v-if="showCatalogList.indexOf(2) > -1"
+        :showPageList="loadPageList"
+      ></chapterOne>
+      <chapterTwo
+        @initViewer="initViewer"
+        v-if="showCatalogList.indexOf(3) > -1"
+        :showPageList="loadPageList"
+      ></chapterTwo>
+      <chapterThree
+        @initViewer="initViewer"
+        v-if="showCatalogList.indexOf(4) > -1"
+        :showPageList="loadPageList"
+      ></chapterThree>
+      <chapterFour
+        @initViewer="initViewer"
+        v-if="showCatalogList.indexOf(5) > -1"
+        :showPageList="loadPageList"
+      ></chapterFour>
+      <chapterFive
+        @initViewer="initViewer"
+        v-if="showCatalogList.indexOf(6) > -1"
+        :showPageList="loadPageList"
+      ></chapterFive>
+      <chapterSix
+        @initViewer="initViewer"
+        v-if="showCatalogList.indexOf(7) > -1"
+        :showPageList="loadPageList"
+      ></chapterSix>
+      <chapterSeven
+        @initViewer="initViewer"
+        v-if="showCatalogList.indexOf(8) > -1"
+        :showPageList="loadPageList"
+      ></chapterSeven>
+      <chapterEight
+        @initViewer="initViewer"
+        v-if="showCatalogList.indexOf(9) > -1"
+        :showPageList="loadPageList"
+      ></chapterEight>
+      
     </div>
-    <miniAudio :path="audioPath" :currentTime="currentTime" @closeMiniAudio="closeMiniAudio" ref="audioPlayer">
+    <miniAudio
+      :path="audioPath"
+      :currentTime="currentTime"
+      @closeMiniAudio="closeMiniAudio"
+      ref="audioPlayer"
+    >
     </miniAudio>
   </div>
 </template>
 
 <script>
+import Vue from "vue";
 import pageHeader from "./header.vue";
 import chapterOne from "./chapter001.vue";
-import chapterTwo from "./chapter002.vue"
-import chapterThree from "./chapter003.vue"
+import chapterTwo from "./chapter002.vue";
+import chapterThree from "./chapter003.vue";
+import chapterFour from "./chapter004.vue";
+import chapterFive from "./chapter005.vue";
+import chapterSix from "./chapter006.vue";
+import chapterSeven from "./chapter007.vue";
+import chapterEight from "./chapter008.vue";
 import miniAudio from "@/components/miniAudio/index.vue";
 import NoteIcon from "@/assets/images/biji.png";
 import _ from "lodash";
@@ -33,7 +85,7 @@
 export default {
   data() {
     return {
-      catalogLength: 4, // 鎬荤珷鑺傛暟
+      catalogLength: 9, // 鎬荤珷鑺傛暟
       showCatalogList: [], // 鏄剧ず鐨勭珷鑺�
       loadThreshold: 300, // 瑙﹀彂鍔犺浇闃堝��
       throttleThreshold: 100, // 鑺傛祦闃堝��
@@ -82,6 +134,8 @@
         setTimeout(() => {
           this.initSwiper();
           this.initViewer();
+          this.closeAudio();
+           this.saveWord()
         }, 200);
       },
     },
@@ -152,36 +206,36 @@
     }, 500);
 
     // 娴嬭瘯椤甸潰璺宠浆
-    setTimeout(() => {
-      this.gotoPage(4,56);
-      //   setTimeout(() => {
-      //     this.renderSign("Highlight", {
-      //       id: "2ACA9359",
-      //       txt: "棰樹竴瀛︿範涓婚涓� 杩愬姩",
-      //       page: "10",
-      //       type: "Highlight",
-      //       color: "#F5E12A"
-      //     });
-      // setTimeout(() => {
-      //   this.delSign({
-      //     ids: ["2ACA9359"]
-      //   });
-      // }, 2000);
-      //   }, 5000);
+    //  setTimeout(() => {
+    //   this.gotoPage(5,69);
+    //   setTimeout(() => {
+    //     this.renderSign("Highlight", {
+    //       id: "2ACA9359",
+    //       txt: "棰樹竴瀛︿範涓婚涓� 杩愬姩",
+    //       page: "10",
+    //       type: "Highlight",
+    //       color: "#F5E12A"
+    //     });
+    // setTimeout(() => {
+    //   this.delSign({
+    //     ids: ["2ACA9359"]
+    //   });
+    // }, 2000);
+    //   }, 5000);
 
-      // const pageDom = (this.container ? this.container : document)
-      //   .querySelector("#app")
-      //   .querySelectorAll(".page-box");
-      // 妫�绱�
-      // console.log(this.searchTextByPage("淇濇姢鍐呰剰鍣ㄥ畼"), "searchTextByPage");
-      // 妫�绱㈣烦杞�
-      // this.searchItemLocation({
-      //   catalog: 2,
-      //   page: 10,
-      //   txt: " 杩愬姩绯荤粺鏄敱楠ㄣ�侀杩炵粨鍜岄楠艰倢涓夐儴鍒嗙粍鎴愮殑銆傚叏韬殑楠ㄩ�氳繃楠ㄨ繛缁撶粍鎴愪汉浣撻楠硷紙瑙佸浘1-1锛夈�傞楠兼槸浜轰綋鐨勬敮鏋讹紝鍏锋湁淇濇姢鍐呰剰鍣ㄥ畼銆佷緵鑲岃倝闄勭潃鍜屼綔涓鸿倢鑲夎繍鍔ㄧ殑鏉犳潌绛変綔鐢ㄣ�傚湪绁炵粡绯荤粺鐨勬敮閰嶄笅锛岃倢鑲夋敹缂╃壍鍔ㄦ墍闄勭潃鐨勯缁曠潃鍏宠妭杞姩锛屼娇韬綋浜х敓鍚勭鍔ㄤ綔銆傛墍浠ワ紝杩愬姩绯荤粺鍏锋湁杩愬姩銆佹敮鎸佸拰淇濇姢绛夊姛鑳斤紝骞煎勾鏃舵湡鐨勯楠艰繕鍏锋湁閫犺鍔熻兘銆� ",
-      //   txtIndex: 57
-      // });
-    }, 50);
+    // const pageDom = (this.container ? this.container : document)
+    //   .querySelector("#app")
+    //   .querySelectorAll(".page-box");
+    // 妫�绱�
+    // console.log(this.searchTextByPage("淇濇姢鍐呰剰鍣ㄥ畼"), "searchTextByPage");
+    // 妫�绱㈣烦杞�
+    // this.searchItemLocation({
+    //   catalog: 2,
+    //   page: 10,
+    //   txt: " 杩愬姩绯荤粺鏄敱楠ㄣ�侀杩炵粨鍜岄楠艰倢涓夐儴鍒嗙粍鎴愮殑銆傚叏韬殑楠ㄩ�氳繃楠ㄨ繛缁撶粍鎴愪汉浣撻楠硷紙瑙佸浘1-1锛夈�傞楠兼槸浜轰綋鐨勬敮鏋讹紝鍏锋湁淇濇姢鍐呰剰鍣ㄥ畼銆佷緵鑲岃倝闄勭潃鍜屼綔涓鸿倢鑲夎繍鍔ㄧ殑鏉犳潌绛変綔鐢ㄣ�傚湪绁炵粡绯荤粺鐨勬敮閰嶄笅锛岃倢鑲夋敹缂╃壍鍔ㄦ墍闄勭潃鐨勯缁曠潃鍏宠妭杞姩锛屼娇韬綋浜х敓鍚勭鍔ㄤ綔銆傛墍浠ワ紝杩愬姩绯荤粺鍏锋湁杩愬姩銆佹敮鎸佸拰淇濇姢绛夊姛鑳斤紝骞煎勾鏃舵湡鐨勯楠艰繕鍏锋湁閫犺鍔熻兘銆� ",
+    //   txtIndex: 57
+    // });
+    //  }, 50);
   },
   methods: {
     // setZoom1() {
@@ -440,8 +494,8 @@
           page && pageThemeColor && pageThemeColor[page]
             ? pageThemeColor[page]
             : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-              ? chapterThemeColor[chapterNum]
-              : bookThemeColor;
+            ? chapterThemeColor[chapterNum]
+            : bookThemeColor;
         if (themeColor) {
           domItem.style.color = themeColor;
         }
@@ -458,8 +512,8 @@
           page && pageThemeColor && pageThemeColor[page]
             ? pageThemeColor[page]
             : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-              ? chapterThemeColor[chapterNum]
-              : bookThemeColor;
+            ? chapterThemeColor[chapterNum]
+            : bookThemeColor;
         if (themeColor) {
           domItem.style.backgroundColor = themeColor;
         }
@@ -476,8 +530,8 @@
           page && pageThemeColor && pageThemeColor[page]
             ? pageThemeColor[page]
             : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-              ? chapterThemeColor[chapterNum]
-              : bookThemeColor;
+            ? chapterThemeColor[chapterNum]
+            : bookThemeColor;
         if (themeColor) {
           domItem.style.borderColor = themeColor;
         }
@@ -620,23 +674,19 @@
           autoplay: {
             //鑷姩寮�濮�
             delay: 3000, //鏃堕棿闂撮殧
-            disableOnInteraction: false //*鎵嬪姩鎿嶄綔杞挱鍥惧悗涓嶄細鏆傚仠*
+            disableOnInteraction: false, //*鎵嬪姩鎿嶄綔杞挱鍥惧悗涓嶄細鏆傚仠*
           },
           paginationClickable: true,
           slidesPerView: 1, // 涓�缁勪笁涓�
           spaceBetween: 30, // 闂撮殧
           // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
           navigation: {
-            nextEl: dom.querySelector(
-              ".swiper-button-next"
-            ),
-            prevEl: dom.querySelector(
-              ".swiper-button-prev"
-            )
+            nextEl: dom.querySelector(".swiper-button-next"),
+            prevEl: dom.querySelector(".swiper-button-prev"),
           },
           // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
           observer: true,
-          observeParents: true
+          observeParents: true,
           // // 濡傛灉闇�瑕佸垎椤靛櫒
           // pagination: {
           //   el: (this.container ? this.container : document).querySelector(
@@ -659,12 +709,8 @@
           spaceBetween: 30, // 闂撮殧
           // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
           navigation: {
-            nextEl: dom.querySelector(
-              ".swiper-button-next"
-            ),
-            prevEl: dom.querySelector(
-              ".swiper-button-prev"
-            )
+            nextEl: dom.querySelector(".swiper-button-next"),
+            prevEl: dom.querySelector(".swiper-button-prev"),
           },
           // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
           observer: true,
@@ -683,8 +729,8 @@
               var paginationInfoEl = dom.querySelector(".pageBox");
               if (paginationInfoEl)
                 paginationInfoEl.textContent = currentPage + "/" + totalPages;
-            }
-          }
+            },
+          },
         });
       }
     },
@@ -714,6 +760,11 @@
         chapterOne,
         chapterTwo,
         chapterThree,
+        chapterFour,
+        chapterFive,
+        chapterSix,
+        chapterSeven,
+        chapterEight,
       };
       // 閬嶅巻鎵�鏈夌珷鑺傛枃浠�
       for (const key in pageData) {
@@ -725,7 +776,7 @@
           propsData: {
             showPageList: [],
             questionData: {},
-            isSearch: true
+            isSearch: true,
           },
         });
         pageExample.$mount(
@@ -757,7 +808,7 @@
               propsData: {
                 showPageList: [pageNum],
                 questionData: {},
-                isSearch: true
+                isSearch: true,
               },
             });
             pageExample.$mount(
@@ -813,22 +864,40 @@
       // 璁板綍楂樹寒淇℃伅
       this.highlightData = data;
       // 璺宠浆
-      this.gotoPage(data.catalog, data.page, () => { });
+      this.gotoPage(data.catalog, data.page, () => {});
     },
     // 鐐瑰嚮浜嬩欢锛氬皢鐢熷兓鍗曡瘝浼犵粰 涓诲簲鐢� 浠庤�岃皟鐢ㄨ瘝鍏稿姛鑳�
-    saveCharacters(event, word) {
-      console.log("鐢熷兓瀛�", event, word);
-      if (this.$store.state.qiankun && this.$store.state.qiankun.chooseWords) {
-        this.$store.state.qiankun.chooseWords({
-          type: "word",
-          word,
-          x: event.pageX,
-          y: event.pageY,
-        });
+    // saveCharacters(event, word) {
+    //   if (this.$store.state.qiankun && this.$store.state.qiankun.chooseWords) {
+    //     this.$store.state.qiankun.chooseWords({
+    //       type: "word",
+    //       word,
+    //       x: event.pageX,
+    //       y: event.pageY,
+    //     });
+    //   }
+    // },
+    saveWord() {
+      const doms = (
+        this.container ? this.container : document
+      ).querySelectorAll(".word-bc");
+      for (let index = 0; index < doms.length; index++) {
+        const dom = doms[index];
+        dom.addEventListener('click',(e) => {
+          let word = null
+          dom.getAttribute('word') ? word = dom.getAttribute('word') : word = e.srcElement.innerText
+          console.log('鍗曡瘝',word)
+          if (this.$store.state.qiankun && this.$store.state.qiankun.chooseWords) {
+            this.$store.state.qiankun.chooseWords({
+              type: "word",
+              word,
+              x: e.pageX,
+              y: e.pageY,
+            });
+          }
+        })
       }
-      // chooseWords
     },
-
     // 椤甸潰鍚戜笅婊氬姩锛岄煶棰戝皬绐楁挱鏀惧姛鑳�
     getAduio() {
       let allVideo = (
@@ -878,12 +947,36 @@
     closeMiniAudio() {
       this.audioPath = "";
     },
+    // 鐐瑰嚮闊抽鎾斁锛屽叧闂叾浠栭煶棰�
+    closeAudio() {
+      let allAudio = (
+        this.container ? this.container : document
+      ).querySelectorAll(".audio");
+      for (let index = 0; index < allAudio.length; index++) {
+        const item = allAudio[index];
+        item.addEventListener("play", () => {
+          const audioList = Array.from(allAudio);
+          for (let cindex = 0; cindex < audioList.length; cindex++) {
+            const citem = audioList[cindex];
+            if (citem.currentSrc != item.src) {
+              citem.pause();
+            }
+          }
+          this.closeMiniAudio();
+        });
+      }
+    },
   },
   components: {
     pageHeader,
     chapterOne,
     chapterTwo,
     chapterThree,
+    chapterFour,
+    chapterFive,
+    chapterSix,
+    chapterSeven,
+    chapterEight,
     miniAudio,
   },
 };

--
Gitblit v1.9.1