litian
2025-01-22 2f88f23ad2ee48f0e7d9169e1f180d309362fabb
src/App.vue
@@ -1,25 +1,238 @@
<template>
  <div id="app">
    <tempBook></tempBook>
    <childHealth v-if="activeBook.name == 'childHealth'"></childHealth>
    <lifeCare v-if="activeBook.name == 'lifeCare'"></lifeCare>
    <embedded v-if="activeBook.name == 'embedded'"></embedded>
    <english v-if="activeBook.name == 'english'"></english>
    <sportsAndHealth
      v-if="activeBook.name == 'sportsAndHealth'"
    ></sportsAndHealth>
    <artAndDance v-if="activeBook.name == 'artAndDance'"></artAndDance>
    <artAndDrama v-if="activeBook.name == 'artAndDrama'"></artAndDrama>
    <mathBook v-if="activeBook.name == 'mathBook'"></mathBook>
    <botany v-if="activeBook.name == 'botany'"></botany>
    <civilAviation v-if="activeBook.name == 'civilAviation'"></civilAviation>
    <civilServices v-if="activeBook.name == 'civilServices'"></civilServices>
    <meetingPlanners v-if="activeBook.name == 'meetingPlanners'"></meetingPlanners>
    <aviationBasicSkills v-if="activeBook.name == 'aviationBasicSkills'"></aviationBasicSkills>
    <aviationSafety  v-if="activeBook.name == 'aviationSafety'"></aviationSafety>
    <aviationEtiquette  v-if="activeBook.name == 'aviationEtiquette'"></aviationEtiquette>
    <childcareInstitutionsManagement  v-if="activeBook.name == 'childcareInstitutionsManagement'"></childcareInstitutionsManagement>
  </div>
    <preschoolGameGuidance  v-if="activeBook.name == 'preschoolGameGuidance'"></preschoolGameGuidance>
    <kindergartenLanguageActivity  v-if="activeBook.name == 'kindergartenLanguageActivity'"></kindergartenLanguageActivity>
</div>
</template>
<script>
import tempBook from './books/childHealth/view/index.vue'
export default {
  name: 'App',
  components: {
    tempBook
  // 解决ERROR ResizeObserver loop completed with undelivered notifications.//问题的
const debounce = (fn, delay) => {
  let timer = null;
  return function () {
    let context = this;
    let args = arguments;
    clearTimeout(timer);
    timer = setTimeout(function () {
      fn.apply(context, args);
    }, delay);
  };
};
// 解决ERROR ResizeObserver loop completed with undelivered notifications.
const _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends _ResizeObserver {
  constructor(callback) {
    callback = debounce(callback, 16);
    super(callback);
  }
}
};
export default {
  name: "App",
  components: {
    childHealth: () => import("./books/childHealth/view/index.vue"),
    lifeCare: () => import("./books/lifeCare/view/index.vue"),
    embedded: () => import("./books/embedded/view/index.vue"),
    english: () => import("./books/english/view/index.vue"),
    sportsAndHealth: () => import("./books/sportsAndHealth/view/index.vue"),
    artAndDance: () => import("./books/artAndDance/view/index.vue"),
    mathBook: () => import("./books/mathBook/view/index.vue"),
    artAndDrama: () => import("./books/artAndDrama/view/index.vue"),
    botany: () => import("./books/botany/view/index.vue"),
    civilAviation: () => import("./books/civilAviation/view/index.vue"),
    civilServices: () =>import("./books/civilServices/view/index.vue"),
    meetingPlanners: () =>import("./books/meetingPlanners/view/index.vue"),
    aviationBasicSkills: () => import("./books/aviationBasicSkills/view/index.vue"),
    aviationSafety: ()=> import("./books/aviationSafety/view/index.vue"),
    aviationEtiquette: ()=> import("./books/aviationEtiquette/view/index.vue"),
    childcareInstitutionsManagement: ()=> import("./books/childcareInstitutionsManagement/view/index.vue"),
    preschoolGameGuidance: ()=> import("./books/preschoolGameGuidance/view/index.vue"),
    kindergartenLanguageActivity: ()=> import("./books/kindergartenLanguageActivity/view/index.vue"),
  },
  data() {
    return {
      activeBook: {},
    };
  },
  async created() {
    if (this.setGlobalState) {
      this.setGlobalState({
        initTestBook: async (bookId, tryPageCount) => {
          this.activeBook = await this.config.getBookConfig(
            process.env.VUE_APP_RESOURCE_CTX + process.env.VUE_APP_BOOK_ID
          );
          this.config.activeBook = this.activeBook;
          this.config.goodsStore = this.activeBook.storeRefcode;
          if (tryPageCount) {
            this.activeBook.tryPageCount = tryPageCount;
          }
          if (
            (this.$store.state.qiankun, this.$store.state.qiankun.getBookConfig)
          ) {
            this.$store.state.qiankun.getBookConfig({
              bookConfig: this.activeBook,
            });
          }
        },
      });
    } else {
      // childHealth
      // lifeCare
      // sportsAndHealth
      // embedded
      // english
      // artAndDance
      // artAndDrama
      // mathBook
      // civilAviation       // 民航概论
      // civilServices       // 服务心理
      // meetingPlanners
      // aviationBasicSkills //基本技能
      // aviationSafety      //安全检查实务
      // aviationEtiquette   //礼仪服务
      //childcareInstitutionsManagement  //托育机构管理与实务
      // preschoolGameGuidance //学前游戏指导 preschoolGameGuidance
      // kindergartenLanguageActivity
      this.activeBook = await this.config.getBookConfig(
      process.env.VUE_APP_RESOURCE_CTX +
        (process.env.VUE_APP_ENV == "product"
          ? process.env.VUE_APP_BOOK_ID
          : "childcareInstitutionsManagement")
      );
      // this.activeBook = await this.config.getBookConfig(
      //   'http://182.92.203.7:3007/books/resource/'+
      //   (process.env.VUE_APP_ENV == "product"
      //     ? process.env.VUE_APP_BOOK_ID
      //     : "botany")
      // );
      // 测试试读30页
      // this.activeBook.tryPageCount = 10;
      this.config.activeBook = this.activeBook;
      this.config.goodsStore = this.activeBook.storeRefcode;
    }
  },
  methods: {
    but() {
      console.log(this.activeBook, "this.activeBook789");
    },
  },
};
</script>
<style lang="less">
  #app {
    max-width: 816px;
    min-width: 375px;
    margin: 0 auto;
    padding-bottom: 100px;
  }
html,
body {
  width: 100%;
  height: 100%;
  margin: 0 !important;
}
#app {
  width: 100%;
  height: 100%;
}
.highLight {
  border: 1px dashed rgba(255, 255, 255, 0);
  border-radius: 5px;
  padding: 3px 0;
  cursor: pointer;
}
.highLight:hover {
  border: 1px dashed #949494 !important;
}
.underline {
  border: 1px dashed rgba(255, 255, 255, 0);
  padding: 5px 0;
  border-radius: 5px;
  text-decoration: underline;
  text-decoration-style: wavy;
  text-underline-thickness: 2px;
  cursor: pointer;
}
.underline:hover {
  border: 1px dashed #949494 !important;
}
.notesline {
  padding-bottom: 2px;
  border-bottom: 2px solid;
  cursor: pointer;
}
/* swiper */
.swiper-container {
  width: 100%;
  height: 100%;
}
.swiper-pagination-bullet-active {
  background-color: #0093ff;
}
.swiper-button-prev,
.swiper-button-next {
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0093ff;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: 30px;
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1;
}
.imgBox {
  position: relative;
}
.imgBox img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.openImgBox img {
  cursor: zoom-in;
}
</style>