From 69af3be6b85c944fecd7807e88c94d0a4e73e286 Mon Sep 17 00:00:00 2001 From: YM <479443481@qq.com> Date: 星期五, 31 五月 2024 16:38:15 +0800 Subject: [PATCH] 暴露全文检索方法 --- src/books/childHealth/view/index.vue | 175 ++++++++++++++------------------------------------------- 1 files changed, 44 insertions(+), 131 deletions(-) diff --git a/src/books/childHealth/view/index.vue b/src/books/childHealth/view/index.vue index 7683b14..d96b1af 100644 --- a/src/books/childHealth/view/index.vue +++ b/src/books/childHealth/view/index.vue @@ -1,76 +1,21 @@ <template> - <div class="temp-book" @mouseup="handleMouseUp" @mousedown="handleMouseDown" @mousemove="handleMousemove"> + <div class="temp-book" @mouseup="handleMouseUp"> <pageContent></pageContent> </div> </template> <script> -import examinations from "./components/examinations/index.vue"; -import testData from '../assets/examinationList.json' import pageContent from "./content/index.vue"; export default { - name: "child-health", components: { pageContent, - examinations, }, data() { - return { - bookData:{}, - type: "option", - idPathList: [], - cardList: [], - isMouseDown: false, - showToolBox: false, - move: false, - }; + return {}; }, - mounted() { - this.getBookInfo(); - console.log(this.$store.state.qiankun, "this.$store.state.qiankun"); - }, - methods: { - getBookInfo() { - let query = { - path: "*", - queryType: "*", - productId: this.config.bookId, - favoriteTypes: "FavoriteBookCity", - itemFields: { - "SysType=": "CmsFolder", - }, - coverSize: { - height: 300, - }, - fields: { - seriesName: [], - author: [], - isbn: [], - publicationDate: [], - bookClassification: [], - paperPrice: [], - JDLink: [], - tmallLink: [], - dangdangLink: [], - weidianLink: [], - content: [], - authorIntroduction: [], - // isApplyPaperBook: [], - // isApplyEBook: [], - isApplyBook: [], - isSell: [], - pdf: [], - protectedEpub: [], - probationPage: [], //pdf璇曡椤垫暟 - freeEpubPage: [], //epub璇曡鐧惧垎姣� - }, - }; - this.MG.store.getProductDetail(query).then((res) => { - console.log("鍥句功淇℃伅",res.datas.cmsDatas[0].datas); - this.$data.bookData = res.datas.cmsDatas[0].datas - }); - }, + mounted() {}, + methods: { getParentWithClass(element, className) { while (element.parentElement) { element = element.parentElement; @@ -80,83 +25,51 @@ } }, handleMouseUp(e) { - if (this.$data.move) { - const txt = window.getSelection()?.toString(); - const selection = window.getSelection(); - if (selection.type != "none") { - let node = selection.anchorNode.parentNode; - let pageHtml = this.getParentWithClass( - selection.anchorNode, - "page-box" - ); - let chapterDom = this.getParentWithClass( - selection.anchorNode, - "chapter" - ); - let chapterNum; - if (chapterDom) chapterNum = chapterDom.getAttribute("num"); - if (txt && pageHtml) { - this.$dsta.showToolBox = true; - const page = pageHtml.getAttribute("page"); - console.log( - { - chapterNum, - txt, - selection, - node, - page, - x: e.x, - y: e.y, - }, - "sendData" - ); - // 鐩戝惉閫変腑鏂囨湰浜嬩欢锛屽苟瑙﹀彂鐖跺眰鏂规硶 - console.log("绗簩澶勫垽鏂�", this.$store.state.qiankun); - if (this.$store.state.qiankun.windowSelection) { - this.$store.state.qiankun.windowSelection({ - txt, - selection, - node, - page, - x: e.x, - y: e.y, - }); - } + const selection = ( + this.container ? this.container : window + ).getSelection(); + const txt = selection.toString(); + if (selection.type != "none" && txt) { + let node = selection.anchorNode.parentNode; + let pageHtml = this.getParentWithClass( + selection.anchorNode, + "page-box" + ); + let chapterDom = this.getParentWithClass( + selection.anchorNode, + "chapter" + ); + let chapterNum; + if (chapterDom) chapterNum = chapterDom.getAttribute("num"); + if (pageHtml) { + const page = pageHtml.getAttribute("page"); + // 鐩戝惉閫変腑鏂囨湰浜嬩欢锛屽苟瑙﹀彂鐖跺眰鏂规硶 + if (this.$store.state.qiankun.windowSelection) { + this.$store.state.qiankun.windowSelection({ + chapterNum, + txt, + page, + x: e.x, + y: e.y, + }); } - this.$data.isMouseDown = false; + } + } else { + if (this.$store.state.qiankun.windowSelection) { + this.$store.state.qiankun.windowSelection({ + chapterNum: "", + txt: "", + page: "", + x: e.x, + y: e.y, + }); } } - this.$data.move = false }, - - handleMouseDown() { - this.$data.isMouseDown = true; - this.$data.showToolBox = false; - }, - handleMousemove() { - if (this.$data.isMouseDown) { - this.$data.move = true; - } - }, - - // handleMouseUp(e) { - // if (move.value) { - // const txt = window.getSelection()?.toString(); - // selectText.value = txt; - // const node = window.getSelection(); - // let html = node.anchorNode.parentNode.parentNode; - // dialogToolData.chapter = html.firstChild.innerHTML; - // if (txt) { - // showToolBox.value = true; - // dialogToolData.top = e.y; - // dialogToolData.left = e.x; - // } - // isMouseDown.value = false; - // } - // move.value = false; - // }, }, }; </script> -<style lang="less" scoped></style> +<style lang="less"> +@import "../assets/main.less"; +</style> -- Gitblit v1.9.1