From 27cb2a0c8d0c5414821e92782bc8d133db856d0c Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期六, 12 十月 2024 18:04:30 +0800
Subject: [PATCH] 数学题目

---
 src/books/mathBook/view/components/index.vue |  183 +++++++++++++++++++++++++++------------------
 1 files changed, 109 insertions(+), 74 deletions(-)

diff --git a/src/books/mathBook/view/components/index.vue b/src/books/mathBook/view/components/index.vue
index 44910de..04469b0 100644
--- a/src/books/mathBook/view/components/index.vue
+++ b/src/books/mathBook/view/components/index.vue
@@ -3,23 +3,23 @@
     <div id="searchDomBox" style="display: none">
       <div id="searchContent"></div>
     </div>
-    <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
-        v-if="showCatalogList.indexOf(2) > -1"
-        :showPageList="loadPageList"
-        :questionData="questionDataMap"
-      ></chapterOne>
+    <div class="page-content" :style="{
+      fontSize: fontSize ? fontSize + 'px' : '16px',
+      transform: `scale(${pageZoom ? pageZoom : 1})`,
+      transformOrigin: 'center top',
+    }">
+      <pageHeader v-if="showCatalogList.indexOf(0) > -1" :showPageList="loadPageList"></pageHeader>
+      <chapterOne v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList" :questionData="questionDataMap">
+      </chapterOne>
+      <chapterTwo v-if="showCatalogList.indexOf(3) > -1" :showPageList="loadPageList" :questionData="questionDataMap">
+      </chapterTwo>
+      <chapterThree v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList" :questionData="questionDataMap">
+      </chapterThree>
+      <chapterFour v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList" :questionData="questionDataMap">
+      </chapterFour>
+      <chapterFive v-if="showCatalogList.indexOf(6) > -1" :showPageList="loadPageList" :questionData="questionDataMap">
+      </chapterFive>
+
     </div>
   </div>
 </template>
@@ -28,11 +28,10 @@
 import axios from "axios";
 import pageHeader from "./header.vue";
 import chapterOne from "./chapter001.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 chapterTwo from "./chapter002.vue";
+import chapterThree from "./chapter003.vue";
+import chapterFour from './chapter004.vue'
+import chapterFive from './chapter005.vue'
 import NoteIcon from "@/assets/images/biji.png";
 import _ from "lodash";
 import Swiper from "swiper/bundle";
@@ -44,7 +43,7 @@
   name: "pageContent",
   data() {
     return {
-      catalogLength: 2, // 鎬荤珷鑺傛暟
+      catalogLength: 6, // 鎬荤珷鑺傛暟
       showCatalogList: [], // 鏄剧ず鐨勭珷鑺�
       loadThreshold: 300, // 瑙﹀彂鍔犺浇闃堝��
       throttleThreshold: 100, // 鑺傛祦闃堝��
@@ -57,7 +56,7 @@
       renderSignMap: {},
       highlightData: null,
       questionId: {},
-      collectId:[]
+      collectId: [],
     };
   },
   computed: {
@@ -106,7 +105,7 @@
   },
   mounted() {
     // 榛樿鍔犺浇绔犺妭
-    this.showCatalogList = [1];
+    this.showCatalogList = [0];
     // 婊氬姩鐩戝惉鑺傛祦
     this.throttledScrollHandler = _.throttle(
       this.scrollFun,
@@ -162,36 +161,36 @@
     }, 500);
 
     // 娴嬭瘯椤甸潰璺宠浆
-    // setTimeout(() => {
-    //   this.gotoPage(1, 10);
-    //   setTimeout(() => {
-    //     this.renderSign("Highlight", {
-    //       id: "2ACA9359",
-    //       txt: "棰樹竴瀛︿範涓婚涓� 杩愬姩",
-    //       page: "10",
-    //       type: "Highlight",
-    //       color: "#F5E12A"
-    //     });
-    // setTimeout(() => {
-    //   this.delSign({
-    //     ids: ["2ACA9359"]
-    //   });
-    // }, 2000);
-    //   }, 5000);
+    setTimeout(() => {
+      this.gotoPage(4, 157);
+    //   //   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
-    // });
-    // }, 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
+    //   // });
+    }, 500);
 
     // 鑾峰彇棰樼洰id鍒楄〃
     this.getQuestionId();
@@ -214,6 +213,9 @@
     // },
     // 婊氬姩鐩戝惉
     scrollFun(event) {
+
+      this.handleVideoPicture()
+
       // 鍒ゆ柇鍚戜笂婊氬姩杩樻槸鍚戜笅婊氬姩
       if (event.target.scrollTop > this.previousScrollTop) {
         // 鍚戜笅
@@ -268,6 +270,7 @@
             this.catalogLength - 2,
             this.catalogLength - 1,
             this.catalogLength,
+
           ];
         } else {
           this.showCatalogList = [catalog - 1, catalog, catalog + 1];
@@ -452,8 +455,8 @@
           page && pageThemeColor && pageThemeColor[page]
             ? pageThemeColor[page]
             : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-            ? chapterThemeColor[chapterNum]
-            : bookThemeColor;
+              ? chapterThemeColor[chapterNum]
+              : bookThemeColor;
         if (themeColor) {
           domItem.style.color = themeColor;
         }
@@ -470,8 +473,8 @@
           page && pageThemeColor && pageThemeColor[page]
             ? pageThemeColor[page]
             : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-            ? chapterThemeColor[chapterNum]
-            : bookThemeColor;
+              ? chapterThemeColor[chapterNum]
+              : bookThemeColor;
         if (themeColor) {
           domItem.style.backgroundColor = themeColor;
         }
@@ -488,8 +491,8 @@
           page && pageThemeColor && pageThemeColor[page]
             ? pageThemeColor[page]
             : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-            ? chapterThemeColor[chapterNum]
-            : bookThemeColor;
+              ? chapterThemeColor[chapterNum]
+              : bookThemeColor;
         if (themeColor) {
           domItem.style.borderColor = themeColor;
         }
@@ -549,9 +552,13 @@
             this.loadPageList.push(Number(page));
             const catalog = catalogDom.getAttribute("num");
             if (!this.questionDataMap[page]) {
+
               if (this.questionId && this.questionId[catalog]) {
+
                 if (this.questionId[catalog][page]) {
+
                   this.questionDataMap[page] = await this.getQuestion(catalog, page);
+
                   console.log("棰樼洰", this.questionDataMap);
                 }
               }
@@ -700,11 +707,10 @@
       const pageData = {
         pageHeader,
         chapterOne,
-        // chapterTwo,
-        // chapterThree,
-        // chapterFour,
-        // chapterFive,
-        // chapterSix,
+        chapterTwo,
+        chapterThree,
+        chapterFour,
+        chapterFive,
       };
       // 閬嶅巻鎵�鏈夌珷鑺傛枃浠�
       for (const key in pageData) {
@@ -804,7 +810,7 @@
       // 璁板綍楂樹寒淇℃伅
       this.highlightData = data;
       // 璺宠浆
-      this.gotoPage(data.catalog, data.page, () => {});
+      this.gotoPage(data.catalog, data.page, () => { });
     },
     // 鑾峰彇棰樼洰鍒楄〃
     getQuestionId() {
@@ -816,6 +822,7 @@
     },
     // 鑾峰彇棰樼洰鏀惰棌id鍒楄〃
     getCollect() {
+      if(!localStorage.getItem(this.config.tokenKey)) return false
       this.MG.identity
         .getUserKey({
           domain: "collectData",
@@ -863,11 +870,20 @@
           const res = await axios.get(
             this.config.activeBook.resourceUrl + "/question-" + num + ".json"
           );
-          if (!res.data.data) return [];
+          console.log(1, res);
+          if (!res.data) return [];
           for (let index = 0; index < res.data.data.length; index++) {
             const item = res.data.data[index];
-              item.isCollect = this.collectId.indexOf(item.id) > -1 ? true :false
-            console.log(item.id ,this.collectId.indexOf(item.id));
+            // 鏁板鍏紡鍔犵被鍚嶅幓淇敼鏍峰紡
+            if (item.type && item.type == 'material') {
+              if (!item.infoList.length) return false
+              item.infoList.forEach(citem => {
+                if (citem.answer) citem.answer = citem.answer.replace(/\<math/gi, '<math class="examination-math"')
+              })
+            } else {
+              if (item.answer) item.answer = item.answer.replace(/\<math/gi, '<math class="examination-math"')
+            }
+            item.isCollect = this.collectId.indexOf(item.id) > -1 ? true : false
             if (this.questionId[num][page].indexOf(item.id) > -1) {
               if (item.type && item.type == "material") {
                 cardList.push(item);
@@ -892,15 +908,33 @@
         return [];
       }
     },
+
+    // 瑙嗛灏忕獥
+    handleVideoPicture() {
+      let doms = (
+        this.container ? this.container : document
+      ).querySelectorAll(".video");
+      doms = Array.from(doms)
+      if (!doms.length) return false
+      const playVudio = doms
+        .reverse()
+        .find((item) => item.paused == false);
+      if (playVudio) {
+        const bottomGap = playVudio.getBoundingClientRect().bottom;
+        const topGap = playVudio.getBoundingClientRect().top;
+        if (bottomGap < 0 || topGap > window.innerHeight) {
+          playVudio.requestPictureInPicture();
+        }
+      }
+    }
   },
   components: {
     pageHeader,
     chapterOne,
-    // chapterTwo,
-    // chapterThree,
-    // chapterFour,
-    // chapterFive,
-    // chapterSix,
+    chapterTwo,
+    chapterThree,
+    chapterFour,
+    chapterFive,
   },
 };
 </script>
@@ -910,6 +944,7 @@
   width: 100%;
   height: 100%;
   overflow: auto;
+
   .page-content {
     max-width: 816px;
     min-width: 375px;

--
Gitblit v1.9.1