From 0743d47eca07827e1ade3554db67b1f6fde4aae1 Mon Sep 17 00:00:00 2001 From: zhongshujie <2862698242@qq.com> Date: 星期三, 16 十月 2024 18:25:37 +0800 Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout --- src/books/mathBook/view/components/index.vue | 156 +++++++++++++++++++++++++++++++++------------------ 1 files changed, 100 insertions(+), 56 deletions(-) diff --git a/src/books/mathBook/view/components/index.vue b/src/books/mathBook/view/components/index.vue index 7f749fe..2fa559b 100644 --- a/src/books/mathBook/view/components/index.vue +++ b/src/books/mathBook/view/components/index.vue @@ -8,9 +8,18 @@ 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"> + <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> @@ -19,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"; @@ -35,7 +43,7 @@ name: "pageContent", data() { return { - catalogLength: 2, // 鎬荤珷鑺傛暟 + catalogLength: 6, // 鎬荤珷鑺傛暟 showCatalogList: [], // 鏄剧ず鐨勭珷鑺� loadThreshold: 300, // 瑙﹀彂鍔犺浇闃堝�� throttleThreshold: 100, // 鑺傛祦闃堝�� @@ -48,7 +56,7 @@ renderSignMap: {}, highlightData: null, questionId: {}, - collectId: [] + collectId: [], }; }, computed: { @@ -97,7 +105,7 @@ }, mounted() { // 榛樿鍔犺浇绔犺妭 - this.showCatalogList = [1]; + this.showCatalogList = [0]; // 婊氬姩鐩戝惉鑺傛祦 this.throttledScrollHandler = _.throttle( this.scrollFun, @@ -154,34 +162,34 @@ // 娴嬭瘯椤甸潰璺宠浆 setTimeout(() => { - this.gotoPage(1, 9); - // setTimeout(() => { - // this.renderSign("Highlight", { - // id: "2ACA9359", - // txt: "棰樹竴瀛︿範涓婚涓� 杩愬姩", - // page: "10", - // type: "Highlight", - // color: "#F5E12A" - // }); - // setTimeout(() => { - // this.delSign({ - // ids: ["2ACA9359"] - // }); - // }, 2000); - // }, 5000); + this.gotoPage(3, 111); + // // 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 - // }); + // // 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鍒楄〃 @@ -205,6 +213,9 @@ // }, // 婊氬姩鐩戝惉 scrollFun(event) { + + this.handleVideoPicture() + // 鍒ゆ柇鍚戜笂婊氬姩杩樻槸鍚戜笅婊氬姩 if (event.target.scrollTop > this.previousScrollTop) { // 鍚戜笅 @@ -259,6 +270,7 @@ this.catalogLength - 2, this.catalogLength - 1, this.catalogLength, + ]; } else { this.showCatalogList = [catalog - 1, catalog, catalog + 1]; @@ -542,8 +554,16 @@ 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); + console.log(page,Array.isArray(this.questionId[catalog][page])); + if(Array.isArray(this.questionId[catalog][page])) { + this.questionDataMap[page] = await this.getQuestion(catalog, page,false); + } else { + const obj = {} + for (let key in this.questionId[catalog][page]) { + obj[key] = await this.getQuestion(catalog, page,key) + } + this.questionDataMap[page] = obj + } } } } @@ -691,11 +711,10 @@ const pageData = { pageHeader, chapterOne, - // chapterTwo, - // chapterThree, - // chapterFour, - // chapterFive, - // chapterSix, + chapterTwo, + chapterThree, + chapterFour, + chapterFive, }; // 閬嶅巻鎵�鏈夌珷鑺傛枃浠� for (const key in pageData) { @@ -807,6 +826,7 @@ }, // 鑾峰彇棰樼洰鏀惰棌id鍒楄〃 getCollect() { + if(!localStorage.getItem(this.config.tokenKey)) return false this.MG.identity .getUserKey({ domain: "collectData", @@ -826,7 +846,7 @@ }) }, // 鑾峰彇绔犺妭棰樼洰 - async getQuestion(num, page) { + async getQuestion(num, page,questionIndex) { let cardList = [ { catalogName: "鍗曢�夐", @@ -854,7 +874,9 @@ const res = await axios.get( this.config.activeBook.resourceUrl + "/question-" + num + ".json" ); - if (!res.data.data) return []; + if (!res.data) return []; + let ids = [] + questionIndex ? ids = this.questionId[num][page][questionIndex] : ids = this.questionId[num][page] for (let index = 0; index < res.data.data.length; index++) { const item = res.data.data[index]; // 鏁板鍏紡鍔犵被鍚嶅幓淇敼鏍峰紡 @@ -867,19 +889,23 @@ 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 (ids.indexOf(item.id) > -1) { if (item.type && item.type == "material") { cardList.push(item); } else { if (item.questionType == "judge") { cardList[1].infoList.push(item); - } else if (item.questionType == "singleChoice") { + } + if (item.questionType == "singleChoice") { cardList[0].infoList.push(item); - } else if (item.questionType == "multipleChoice") { + } + if (item.questionType == "multipleChoice") { cardList[2].infoList.push(item); - } else if (item.questionType == "completion") { + } + if (item.questionType == "completion") { cardList[3].infoList.push(item); - } else if (item.questionType == "shortAnswer") { + } + if (item.questionType == "shortAnswer") { cardList[4].infoList.push(item); } } @@ -891,15 +917,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> -- Gitblit v1.9.1