From 7f568415400f30527e547fd018bf25b453171ac1 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期二, 14 五月 2024 21:17:54 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout

---
 src/main.js                                                  |    9 +++++----
 src/books/childHealth/view/content/components/chapter005.vue |    2 +-
 src/books/childHealth/view/content/index.vue                 |   39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/src/books/childHealth/view/content/components/chapter005.vue b/src/books/childHealth/view/content/components/chapter005.vue
index 6093340..a8068dd 100644
--- a/src/books/childHealth/view/content/components/chapter005.vue
+++ b/src/books/childHealth/view/content/components/chapter005.vue
@@ -52,7 +52,7 @@
       </div>
     </div>
     <!-- 100 -->
-    <div class="page-box">
+    <div class="page-box" page="100">
       <even-header :num="100" />
       <div class="padding-96">
         <p>
diff --git a/src/books/childHealth/view/content/index.vue b/src/books/childHealth/view/content/index.vue
index 3902b2e..b47b0c3 100644
--- a/src/books/childHealth/view/content/index.vue
+++ b/src/books/childHealth/view/content/index.vue
@@ -70,6 +70,18 @@
       this.throttleThreshold,
       { leading: true, trailing: false }
     );
+    // 鎻愪緵椤甸潰璺宠浆鍔熻兘
+    if (this.setGlobalState) {
+      this.setGlobalState({
+        gotoPage: (catalog, page) => {
+          this.gotoPage(catalog, page);
+        }
+      });
+    }
+    // 娴嬭瘯椤甸潰璺宠浆
+    // setTimeout(() => {
+    //   this.gotoPage(5, 100);
+    // }, 3000);
   },
   methods: {
     scrollFun(e) {
@@ -117,6 +129,33 @@
       // 鏇存柊涓婁竴娆℃粴鍔ㄧ殑浣嶇疆
       this.previousScrollTop = event.target.scrollTop;
     },
+    gotoPage(catalog, page) {
+      if (catalog >= 0 && catalog <= this.catalogLength) {
+        // 澶勭悊娓叉煋绔犺妭
+        if (catalog == 0) {
+          this.showCatalogList = [0, 1];
+        } else if (catalog == this.catalogLength) {
+          this.showCatalogList = [
+            this.catalogLength - 2,
+            this.catalogLength - 1,
+            this.catalogLength
+          ];
+        } else {
+          this.showCatalogList = [catalog - 1, catalog, catalog + 1];
+        }
+        setTimeout(() => {
+          // 璺宠浆椤电爜
+          const pageDom = document.querySelector(`[page="${page}"]`);
+          if (pageDom) {
+            pageDom.scrollIntoView();
+          } else {
+            console.log("椤电爜閿欒锛�");
+          }
+        }, 50);
+      } else {
+        console.log("绔犺妭閿欒锛�");
+      }
+    }
   },
   components: {
     pageHeader,
diff --git a/src/main.js b/src/main.js
index 6e7021d..0079324 100644
--- a/src/main.js
+++ b/src/main.js
@@ -30,7 +30,9 @@
 let instance = null;
 
 function render(props = {}) {
-  const { container } = props;
+  const { container, onGlobalStateChange, setGlobalState } = props;
+  Vue.prototype.onGlobalStateChange = onGlobalStateChange;
+  Vue.prototype.setGlobalState = setGlobalState;
   instance = new Vue({
     // router,
     store,
@@ -56,8 +58,8 @@
 
   props.setGlobalState({
     state: 3, // 搴旂敤鎸傝浇瀹屾垚锛屽悓鏃剁敤浜庤Е鍙戜竴娆tateChange灏唖tate鎸傝浇鍦╲uex褰撲腑
-    bookName:config.activeBook.bookName,
-    bookId:config.activeBook.bookId
+    bookName: config.activeBook.bookName,
+    bookId: config.activeBook.bookId
   });
 
   render(props);
@@ -72,4 +74,3 @@
 // export async function update(props) {
 //   render(props);
 // }
-

--
Gitblit v1.9.1