闫增涛
2024-05-14 7f568415400f30527e547fd018bf25b453171ac1
Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout
3个文件已修改
50 ■■■■■ 已修改文件
src/books/childHealth/view/content/components/chapter005.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/childHealth/view/content/index.vue 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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,
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, // 应用挂载完成,同时用于触发一次stateChange将state挂载在vuex当中
    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);
// }