| | |
| | | <template> |
| | | <div class="page-main" @scroll="throttledScrollHandler"> |
| | | <div class="page-content"> |
| | | <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" |
| | |
| | | ></chapterTwelve> |
| | | <chapterThirteen |
| | | v-if="showCatalogList.indexOf(13) > -1" |
| | | :showPageList="loadPageList" |
| | | ></chapterThirteen> |
| | | </div> |
| | | </div> |
| | |
| | | questionData: {}, |
| | | }; |
| | | }, |
| | | provide() { |
| | | return { |
| | | changeQuestionData:this.changeQuestionData |
| | | } |
| | | computed: { |
| | | fontSize() { |
| | | return this.$store.state.qiankun.fontSize; |
| | | }, |
| | | pageZoom() { |
| | | return this.$store.state.qiankun.scale / 100; |
| | | }, |
| | | }, |
| | | watch: { |
| | | showCatalogList: { |
| | |
| | | this.container ? this.container : document |
| | | ).querySelectorAll(".page-box"); |
| | | sections.forEach((section) => { |
| | | if (this.config.activeBook && this.config.activeBook.tryPageCount) { |
| | | const page = section.getAttribute("page"); |
| | | if (Number(page) > this.config.activeBook.tryPageCount) { |
| | | let chapterDom = this.getParentWithClass(section, "chapter"); |
| | | const chapterNum = chapterDom.getAttribute("num"); |
| | | this.catalogLength = Number(chapterNum) - 1; |
| | | section.remove(); |
| | | return false; |
| | | } |
| | | } |
| | | //observer 观察每个元素,以便在它们进入或离开视窗时触发回调函数。 |
| | | const isObserver = section.getAttribute("observer"); |
| | | const isLoadObserver = section.getAttribute("loadObserver"); |
| | |
| | | "chapter" |
| | | ); |
| | | const catalog = catalogDom.getAttribute("num"); |
| | | console.log("page", page, catalog); |
| | | console.log(page, "page", catalog, "catalog"); |
| | | // 返回页码和章节信息 |
| | | if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange) |
| | | this.$store.state.qiankun.pageChange({ |
| | |
| | | const catalog = catalogDom.getAttribute("num"); |
| | | if (!this.questionData[page]) { |
| | | if (testData && testData[catalog]) { |
| | | console.log(testData[catalog]); |
| | | if (testData[catalog][page]) { |
| | | console.log(testData[catalog][page]); |
| | | if (Array.isArray(testData[catalog][page])) { |
| | | this.questionData[page] = await getQuestionList( |
| | | [], |
| | | page, |
| | | testData[catalog][page], |
| | | this.config.activeBook |
| | | ) |
| | | ); |
| | | } else { |
| | | const obj = {}; |
| | | for (let key in testData[catalog][page]) { |
| | | console.log("key", key, testData[catalog][page][key]); |
| | | obj[key] = await getQuestionList( |
| | | [], |
| | | testData[catalog][page][key], |
| | |
| | | } |
| | | } |
| | | this.loadPageList.push(Number(page)); |
| | | console.log(this.loadPageList, "this.loadPageList", catalog); |
| | | if (this.loadPageList.length > 5) { |
| | | // 超过三章隐藏顶部一章 |
| | | // 超过5页 |
| | | this.loadPageList.shift(); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | changeQuestionData(page,data) { |
| | | console.log('变化',page,data); |
| | | this.$props.questionData[page] = data |
| | | }, |
| | | }, |
| | | components: { |