zhongshujie
2025-02-11 ce30483043ba928310343677cca84f5d8f6d0c42
src/App.vue
@@ -4,27 +4,71 @@
    <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>
    <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>
    <toddlerGameImplementation v-if="activeBook.name == 'toddlerGameImplementation'"></toddlerGameImplementation>
    <preschoolGameGuidance v-if="activeBook.name == 'preschoolGameGuidance'"></preschoolGameGuidance>
    <kindergartenLanguageActivity v-if="activeBook.name == 'kindergartenLanguageActivity'">
    </kindergartenLanguageActivity>
    <aurturingAndEducationAged0to3 v-if="activeBook.name == 'aurturingAndEducationAged0to3'">
    </aurturingAndEducationAged0to3>
  </div>
</template>
<script>
import childHealth from "./books/childHealth/view/index.vue";
import lifeCare from "./books/lifeCare/index.vue";
import embedded from "./books/embedded/view/index.vue";
import english from "./books/English/view/index.vue";
import sportsAndHealth from "./books/sportsAndHealth";
// 解决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,
    lifeCare,
    embedded,
    english,
    sportsAndHealth,
    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"),
    toddlerGameImplementation: () => import("./books/toddlerGameImplementation/view/index.vue"),
    preschoolGameGuidance: () => import("./books/preschoolGameGuidance/view/index.vue"),
    kindergartenLanguageActivity: () => import("./books/kindergartenLanguageActivity/view/index.vue"),
    aurturingAndEducationAged0to3: () => import("./books/aurturingAndEducationAged0to3/view/index.vue"),
  },
  data() {
    return {
@@ -35,22 +79,14 @@
    if (this.setGlobalState) {
      this.setGlobalState({
        initTestBook: async (bookId, tryPageCount) => {
          // this.activeBook = await this.config.getBookConfig(this.config.resourceCtx + bookId);
          if (
            this.config.resourceCtx ==
            "http://182.92.203.7:3007/books/resource/"
          ) {
            this.config.resourceCtx = this.config.resourceCtx + bookId;
          }
          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;
          this.activeBook = await this.config.getBookConfig(
            this.config.resourceCtx
          );
          if (tryPageCount) {
            this.activeBook.tryPageCount = tryPageCount;
          }
          console.log("图书", this.activeBook);
          if (
            (this.$store.state.qiankun, this.$store.state.qiankun.getBookConfig)
          ) {
@@ -61,18 +97,48 @@
        },
      });
    } else {
      // childHealth
      // lifeCare
      // sportsAndHealth
      // embedded
      // english
      // artAndDance
      // artAndDrama
      // mathBook
      // civilAviation       // 民航概论
      // civilServices       // 服务心理
      // meetingPlanners
      // aviationBasicSkills //基本技能
      // aviationSafety      //安全检查实务
      // aviationEtiquette   //礼仪服务
      // childcareInstitutionsManagement  //托育机构管理与实务
      // toddlerGameImplementation  //婴幼儿游戏活动实施
      // preschoolGameGuidance //学前游戏指导 preschoolGameGuidance
      // kindergartenLanguageActivity
      // aurturingAndEducationAged0to3 //0~3岁婴幼儿抚育与教育
      this.activeBook = await this.config.getBookConfig(
        // childHealth
        // lifeCare
        // sportsAndHealth
        this.config.resourceCtx + "childHealth"
        process.env.VUE_APP_RESOURCE_CTX +
        (process.env.VUE_APP_ENV == "product"
          ? process.env.VUE_APP_BOOK_ID
          : "aurturingAndEducationAged0to3")
      );
      // 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>
@@ -82,31 +148,35 @@
body {
  width: 100%;
  height: 100%;
  margin: 0;
  margin: 0 !important;
}
#app {
  width: 100%;
  height: 100%;
}
.highLight {
  border: 1px dashed rgba(255, 255, 255, 0);
  border-radius: 5px;
  padding: 3px;
  padding: 3px 0;
  cursor: pointer;
}
.highLight:hover {
  border: 1px dashed #949494 !important;
}
.underline {
  border: 1px dashed rgba(255, 255, 255, 0);
  padding: 5px;
  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;
}
@@ -118,16 +188,44 @@
}
/* swiper */
.swiper-container{
.swiper-container {
  width: 100%;
  height: 100%;
}
.imgBox{
.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{
.imgBox img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
@@ -139,4 +237,8 @@
  left: 0;
  margin: auto;
}
.openImgBox img {
  cursor: zoom-in;
}
</style>