user1
2024-06-13 d699fe9586830b5fefe53038c8b5b6b2dbb4ac90
drama
2个文件已修改
66个文件已添加
2922 ■■■■■ 已修改文件
src/App.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDance/view/components/header.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0007-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0009-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0010-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0012-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0014-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0016-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0016-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0017-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0019-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0020-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0020-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0021-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0022-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0024-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0025-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0026-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0028-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0030-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0032-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0033-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0034-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0035-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0036-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0036-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/0038-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/1-1单元大图.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/1-2蚂蚁举大树.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/1-3.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/1-4.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/1-5.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/2-0单元大图.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/2-1.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/2-2.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/2-3.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/2-4.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/3-1单元大图.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/3-2.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/3-3.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/4-0单元大图.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/4-1.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/4-2.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/4-3.gif 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/Cover.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/FD.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/SMY.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/czysj.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/dy1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/dy2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/dy3.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/dy4.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/dydd.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/header-green.png 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/page5.png 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/page6-header-green.png 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/rhybx.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/tzyys.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/xsyty.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/images/ym.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/assets/main.less 563 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/view/components/chapter001.vue 714 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/view/components/chapter002.vue 633 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/view/components/chapter003.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/view/components/chapter004.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/view/components/header.vue 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/view/components/index.vue 851 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDrama/view/index.vue 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue
@@ -8,6 +8,7 @@
      v-if="activeBook.name == 'sportsAndHealth'"
    ></sportsAndHealth>
    <artAndDance v-if="activeBook.name == 'artAndDance'"></artAndDance>
    <artAndDrama v-if="activeBook.name == 'artAndDrama'"></artAndDrama>
  </div>
</template>
@@ -18,6 +19,7 @@
import english from "./books/English/view/index.vue";
import sportsAndHealth from "./books/sportsAndHealth/view/index";
import artAndDance from './books/artAndDance/view/index.vue'
import artAndDrama from './books/artAndDrama/view/index.vue'
export default {
  name: "App",
@@ -27,7 +29,8 @@
    embedded,
    english,
    sportsAndHealth,
    artAndDance
    artAndDance,
    artAndDrama
  },
  data() {
    return {
@@ -72,7 +75,8 @@
        // embedded
        // english
        // artAndDance
        this.config.resourceCtx + "sportsAndHealth"
        // artAndDrama
        this.config.resourceCtx + "artAndDrama"
      );
      // æµ‹è¯•试读30页
      // this.activeBook.tryPageCount = 10;
src/books/artAndDance/view/components/header.vue
@@ -69,4 +69,7 @@
};
</script>
<style scoped></style>
<style scoped>
</style>
src/books/artAndDrama/assets/images/0007-1.jpg
src/books/artAndDrama/assets/images/0009-1.jpg
src/books/artAndDrama/assets/images/0010-1.jpg
src/books/artAndDrama/assets/images/0012-1.jpg
src/books/artAndDrama/assets/images/0014-1.jpg
src/books/artAndDrama/assets/images/0016-1.jpg
src/books/artAndDrama/assets/images/0016-2.jpg
src/books/artAndDrama/assets/images/0017-1.jpg
src/books/artAndDrama/assets/images/0019-1.jpg
src/books/artAndDrama/assets/images/0020-1.jpg
src/books/artAndDrama/assets/images/0020-2.jpg
src/books/artAndDrama/assets/images/0021-1.jpg
src/books/artAndDrama/assets/images/0022-1.jpg
src/books/artAndDrama/assets/images/0024-1.jpg
src/books/artAndDrama/assets/images/0025-1.jpg
src/books/artAndDrama/assets/images/0026-1.jpg
src/books/artAndDrama/assets/images/0028-1.jpg
src/books/artAndDrama/assets/images/0030-1.jpg
src/books/artAndDrama/assets/images/0032-1.jpg
src/books/artAndDrama/assets/images/0033-1.jpg
src/books/artAndDrama/assets/images/0034-1.jpg
src/books/artAndDrama/assets/images/0035-1.jpg
src/books/artAndDrama/assets/images/0036-1.jpg
src/books/artAndDrama/assets/images/0036-2.jpg
src/books/artAndDrama/assets/images/0038-1.jpg
src/books/artAndDrama/assets/images/1-1µ¥Ôª´óͼ.gif
src/books/artAndDrama/assets/images/1-2ÂìÒϾٴóÊ÷.gif
src/books/artAndDrama/assets/images/1-3.gif
src/books/artAndDrama/assets/images/1-4.gif
src/books/artAndDrama/assets/images/1-5.gif
src/books/artAndDrama/assets/images/2-0µ¥Ôª´óͼ.gif
src/books/artAndDrama/assets/images/2-1.gif
src/books/artAndDrama/assets/images/2-2.gif
src/books/artAndDrama/assets/images/2-3.gif
src/books/artAndDrama/assets/images/2-4.gif
src/books/artAndDrama/assets/images/3-1µ¥Ôª´óͼ.gif
src/books/artAndDrama/assets/images/3-2.gif
src/books/artAndDrama/assets/images/3-3.gif
src/books/artAndDrama/assets/images/4-0µ¥Ôª´óͼ.gif
src/books/artAndDrama/assets/images/4-1.gif
src/books/artAndDrama/assets/images/4-2.gif
src/books/artAndDrama/assets/images/4-3.gif
src/books/artAndDrama/assets/images/Cover.jpg
src/books/artAndDrama/assets/images/FD.jpg
src/books/artAndDrama/assets/images/SMY.jpg
src/books/artAndDrama/assets/images/czysj.jpg
src/books/artAndDrama/assets/images/dy1.jpg
src/books/artAndDrama/assets/images/dy2.jpg
src/books/artAndDrama/assets/images/dy3.jpg
src/books/artAndDrama/assets/images/dy4.jpg
src/books/artAndDrama/assets/images/dydd.jpg
src/books/artAndDrama/assets/images/header-green.png
src/books/artAndDrama/assets/images/page5.png
src/books/artAndDrama/assets/images/page6-header-green.png
src/books/artAndDrama/assets/images/rhybx.jpg
src/books/artAndDrama/assets/images/tzyys.jpg
src/books/artAndDrama/assets/images/xsyty.jpg
src/books/artAndDrama/assets/images/ym.jpg
src/books/artAndDrama/assets/main.less
New file
@@ -0,0 +1,563 @@
.ans-drama {
    width: 100%;
    height: 100%;
    font-family: "宋体", SimSun, sans-serif;
span.un1{
    -webkit-text-emphasis-style:dot;
   -moz-text-emphasis-style:dot;
    -ms-text-emphasis-style:dot;
        text-emphasis-style:dot;
-webkit-text-emphasis-position:under;
   -moz-text-emphasis-position:under;
    -ms-text-emphasis-position:under;
        text-emphasis-position:under;
}
  ul {
      list-style-type:none;
  }
  li {
      list-style-type:none;
  }
.ls1{
      font-family:"HiFont Hei GB";
  color:#30AAD1;
  font-weight:bold;
}
.hs{
  color:#B0441D;
}
.hs1{
  color:#E78D2D;
  font-weight:bold;
}
.zs1{
      font-family:"HiFont Hei GB";
  color:#857EB4;
  font-weight:bold;
}
span.under1{
  border-bottom:2px solid #F0BD4A;
  border-width:2px;
}
div.bodystyle {
  font-size:18px;
  text-align:justify;
  margin:5%;
  line-height:30px;
}
span.zt-0
{
  color:#0087AF;
}
p.pzt-0
{
  color:#0087AF;
  font-size:18px;
}
p.pzt-0-right
{
  font-size:18px;
  color:#0087AF;
  text-align:right;
}
p.pzt-1
{
  font-weight:bold;
  color:#0087AF;
  font-size:18px;
}
.note{
font-size:0.85em;
}
.img{
  text-align:center;
  font-size:0.8em;
  color:#5D78BB;
  margin-left:0%;
  margin-right:0%;
  text-indent:0em;
}
.img1{
  text-align:right;
  font-size:0.85em;
  margin-left:0%;
  margin-right:2em;
  text-indent:0em;
}
p
{
  margin-top:1em;
  text-indent:2em;
  line-height:30px;
  font-size:18px;
  text-align:justify;
}
.cover {
  width:100%;
  padding:0px;
}
.center {
  text-align:center;
  margin-left:0%;
  margin-right:0%;
  text-indent:0em;
}
.center1
{
  font-family:"STKaiti";
  text-align:center;
  margin-left:0%;
  margin-right:0%;
  font-size:1.2em;
  text-indent:0em;
  font-weight:bold;
}
.left {
  text-indent:0em;
  margin-left:0%;
  margin-right:0%;
}
.left1 {
  font-family:"STKaiti";
  text-indent:0em;
  margin-left:0%;
  margin-right:0%;
}
.right {
  text-align:right;
  margin-left:0%;
  margin-right:0%;
}
.right1 {
  font-family:"STKaiti";
  text-align:right;
  margin-left:0%;
  margin-right:0%;
}
.quote {
  margin-top:0%;
  margin-bottom:0%;
  margin-left:1em;
  margin-right:1em;
  text-align:justify;
  font-family:"cnepub", serif;
}
h1 {
  font-family:"STKaiti";
  text-align:center;
  font-size:1.8em;
  color:#515594;
  margin-bottom:0.5cm;
  margin-top:0.5cm;
}
h1.left-h1 {
  text-indent:0em;
  text-align:left;
  text-indent:0em;
}
h2 {
  font-family:"STKaiti";
  text-align:center;
  font-size:1.5em;
  margin-top:1.5em;
  margin-bottom:1.5em;
  text-indent:0em;
}
h2.whleft2{
  text-align:left;
  color:#AF0206;
  font-size:1.2em;
  margin-top:0.2em;
  margin-bottom:0.2em;
  text-indent:0em;
}
h3 {
  font-family:"STKaiti";
  color:#EF495D;
  font-weight:bold;
  font-size:1.2em;
  margin-top:2em;
  text-align:center;
  margin-bottom:2em;
  text-indent:0em;
}
h3.lefth3{
  text-align:left;
  margin-top:0.2em;
  margin-bottom:0.2em;
  text-indent:0em;
}
h4 {
  font-weight:bold;
  color:#5877BA;
  font-size:1.1em;
  margin-top:0.2em;
  margin-bottom:1em;
  text-indent:0em;
}
h5 {
  font-weight:bold;
  color:#C96653;
  font-size:1em;
  margin-top:0.2em;
  margin-bottom:1em;
  text-indent:2em;
}
h6 {
  font-family:"cnepub", serif;
  color:#36C3F4;
  font-size:1.1em;
  margin-top:10px;
  text-indent:2em;
  margin-bottom:10px;
}
.u {
    text-decoration:underline; }
.img-0{
width:100%;
}
.imz{
   width:96%;
   text-align:center;
}
.img-a{
width:95%;
}
.img-b{
width:80%;
}
.img-c{
width:70%;
}
.img-d{
width:60%;
}
.img-e{
width:50%;
}
.img-f{
width:40%;
}
.img-g{
width:30%;
}
.img-gh1{
width:30%;
text-align:right;
}
.img-gh2{
width:45%;
text-align:right;
}
.img-h{
width:25%;
}
.img-i{
width:10%;
}
.img-j{
width:5%;
}
.inline{
height:2em;
margin-bottom:-0.5em;
}
.inline1{
height:1.5em;
margin-top:-1em;
margin-bottom:-0.4em;
}
.inline2{
height:2.5em;
margin-top:2em;
margin-bottom:-0.4em;
}
.inline3{
height:4em;
margin-top:2em;
margin-bottom:-0.4em;
}
.block
{
  font-family:"STKaiti";
  font-size:1.15em;
}
.block1
{
  font-family:"STKaiti";
  color:#08A496;
  text-align:right;
  font-size:1.15em;
  margin-right:2em;
  text-indent:0em;
}
.block2
{
  font-family:"STKaiti";
  font-size:1.15em;
  text-align:center;
  text-indent:0em;
}
.block3
{
  font-weight:bold;
  font-family:"STKaiti";
  font-size:1.2em;
}
div.bj{
  border:2px solid #E04239;
  background:#FDECD2;
  border-style:solid none none none;
  padding:0.2em 0.4em 0.2em 0.4em;
  margin-top:1em;
  margin-left:0.5em;
  margin-right:0.5em;
  margin-bottom:-0.8em;
  font-size:1.1em;
  box-shadow: 0.3em 0.3em 0px 0px #C3C2C0;
}
.bj2{
  border:2px solid #E04239;
  background:#FDECD2;
  border-style:solid none none none;
  padding:0.2em 0.4em 0.2em 0.4em;
  margin-top:1em;
  margin-left:0.5em;
  margin-right:0.5em;
  margin-bottom:-0.8em;
  font-size:1.1em;
  box-shadow: 0.3em 0.3em 0px 0px #C3C2C0;
}
.kaiti{
  font-family:"STKaiti";
}
div.bk{
  border:4px dashed #3FB135;
  padding:15px;
  margin-bottom:2em;
  margin-top:1em;
}
div.bj1{
  padding:0.01em 1em 0.01em 1em;
  margin-top:-2.95em;
  margin-left:-1em;
  margin-right:-1em;
}
.img-gn{
  height:2em;
  margin-bottom:-0.4em;
}
.img-gn1{
  height:2em;
}
div.bj3{
  background:#C6DFA5;
  padding:0.2em 0.5em 0.2em 0.5em;
  margin-top:1em;
  margin-left:0.5em;
  margin-right:0.5em;
  border-radius:1em;
  margin-bottom:1.5em;
  font-size:1.1em;
}
 // è‡ªå®šä¹‰
 .page-box {
    position: relative;
    box-sizing: border-box;
    min-height: 1150px;
    margin-bottom: 20px;
    box-shadow: 0 3px 6px 1px #00000029;
    background-color: #fff;
  }
  ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .fl {
    display: flex;
  }
  .fw-wr {
    flex-wrap: wrap;
  }
  .fl-cl {
    flex-direction: column;
  }
  .ju-bt {
    justify-content: space-between;
  }
  .ju-end {
    justify-content: flex-end;
  }
  .al-cn {
    align-items: center;
  }
  .wh-nr {
    white-space: nowrap;
  }
  .w100 {
    width: 100%;
  }
  .m0 {
    margin: 0;
  }
  .mr-8 {
    margin-right: 8px;
  }
  .mt-20 {
    margin-top: 20px;
  }
  .mt-40 {
    margin-top: 40px !important;
  }
  .mb-20 {
    margin-bottom: 20px;
  }
  .mb-40 {
    margin-bottom: 40px;
  }
  .ml-40 {
    margin-left: 40px;
  }
  .mr-40 {
    margin-right: 40px;
  }
  .pg-mh {
    min-height: 1150px;
  }
  .dl-ib {
    display: inline-block;
  }
  .w-min {
    width: min-content;
  }
  .w40 {
    width: 40px;
  }
  .pb-box {
    position: absolute;
    bottom: 0;
  }
  .m16-0 {
    margin: 16px 0;
  }
  .fm-son {
    font-family: "宋体", SimSun, sans-serif;
  }
  .auido-text {
    font-size: 22px;
    font-family: "FangSong", "PMingLiU", serif;
    font-weight: bold;
  }
  .input-bottom-border {
    border: 0;
    border-bottom: 1px solid #000000;
    width: 40%;
    &:focus {
      outline: none;
    }
  }
  /* åª’体查询做基础响应式布局 */
@media (max-width: 660px) {
    .ans-drama {
      /* åˆ†é¡µpadding */
      .page-padding {
        padding: 104px 20px;
      }
      .padding-96 {
        padding: 0 20px 104px 20px;
      }
      /* video大小 */
      .video-box {
        max-width: 260px;
      }
    }
  }
  @media (min-width: 660px) {
    .ans-drama {
      .page-padding {
        padding: 104px 96px;
      }
      .padding-96 {
        padding: 0 96px 104px 96px;
      }
      .video-box {
        max-width: 370px;
      }
    }
  }
}
::-webkit-scrollbar {
    width: 8px;
    height: 10px;
  }
  ::-webkit-scrollbar-track-piece {
    background-color: rgba(0, 0, 0, 0.1);
    -webkit-border-radius: 6px;
  }
  ::-webkit-scrollbar-thumb:vertical {
    height: 5px;
    background-color: rgba(125, 125, 125, 0.3);
    -webkit-border-radius: 6px;
  }
  ::-webkit-scrollbar-thumb:horizontal {
    width: 5px;
    background-color: rgba(125, 125, 125, 0.3);
    -webkit-border-radius: 6px;
  }
src/books/artAndDrama/view/components/chapter001.vue
New file
@@ -0,0 +1,714 @@
<template>
  <div class="chapter" num="2">
    <div class="page-box" page="4" style="min-height: auto">
      <div v-if="showPageList.indexOf(4) > -1">
        <h1 id="a004">
            <!-- è¿™é‡Œçš„动图有问题,没有背景图片 -->
          <img class="img-0" alt="" src="../../assets/images/dy1.jpg" />
          <audio :src="auidoPathOne" controls></audio>
        </h1>
        <div class="bodystyle">
          <div class="bk">
            <div class="bj1">
              <p class="left">
                <img class="img-gn" alt="" src="../../assets/images/dydd.jpg" />
              </p>
            </div>
            <p class="block">
              åœ¨æ•…事《一块奶酪》中,蚂蚁家庭的每一位成员都为了共同的目标分工协作、努力奋斗,在面对诱惑和挑战时更是严于律己、遵守团队纪律。本单元,让我们读一读《一块奶酪》的故事,学习蚂蚁们的优秀品格吧!
            </p>
          </div>
        </div>
        <p><br /></p>
        <h1><img class="img-0" alt="" src="../../assets/images/ym.jpg" /></h1>
      </div>
    </div>
    <div class="page-box" page="5" style="min-height: auto">
      <div v-if="showPageList.indexOf(5) > -1">
        <h1>
          <img
            src="../../assets/images/header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <img src="../../assets/images/page5.png" alt="" />
          <h2 id="b001">第一课 齐心协力</h2>
          <h3 class="lefth3" id="c001">
            <img class="img-gn1" alt="" src="../../assets/images/rhybx.jpg" />
          </h3>
          <p>
            åœ¨è¯­è¨€è¡¨è¿°ä¸­ï¼Œä¸ºäº†çªå‡ºæˆ–强调某些意思,我们会使用“逻辑重音”这一技巧。同样一句话,不同的逻辑重音可以表达出不一样的意思。
          </p>
          <p>
            <span class="hs1">◇</span
            >大声朗读下面的句子,连一连不同逻辑重音强调的意思。
          </p>
          <h1>
            <audio :src="auidoPathTwo" controls></audio>
          </h1>
          <p>小提示:加点的文字为本句话中的逻辑重音,在朗读发音时请重读。</p>
          <!-- è¿žçº¿é¢˜ -->
          <matching :rawData="rawData" :item="question"></matching>
        </div>
        <p><br /></p>
        <!-- æ­¤æ¬¡ä¸ºé¡µè„šéƒ¨åˆ†ï¼ˆéœ€è¦è®¾ç½®é¡µç ï¼‰ -->
        <div style="position: relative; ">
            <div style="position: absolute; z-index: 99;background-color: rgba(208,226,179); width: 30px; height: 30px; border-radius: 50%; left: 98px; top: 38px; text-align: center; font-size: 25px;">2</div>
            <h1 style="position: relative; z-index: 1;"><img class="img-0" alt="" src="../../assets/images/ym.jpg" /></h1>
        </div>
      </div>
    </div>
    <div class="page-box" page="6" style="min-height: auto">
      <div v-if="showPageList.indexOf(6) > -1">
        <h1>
          <img
            src="../../assets/images/page6-header-green.png"
            alt=""
            style="height: auto; width: 100%"
          />
        </h1>
        <div class="bodystyle">
          <h1 class="lefth3" id="c002">
            <img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" />
          </h1>
          <p><span class="hs1">◇</span>请选出你认为正确的答案。</p>
          <p class="center openImgBox">
            <img class="img-e" alt="" src="../../assets/images/1-2蚂蚁举大树.gif" />
          </p>
          <p>蚂蚁是典型的(  )昆虫。(多选)</p>
          <p>A.群居</p>
          <p>B.社会性</p>
          <p>C.独居</p>
          <p>蚂蚁内部有(  )分工。(多选)</p>
          <p>A.明确的</p>
          <p>B.奇怪的</p>
          <p>C.有序的</p>
          <p>一个(  )群体少不了默契的配合。(多选)</p>
          <p>A.团结的</p>
          <p>B.优秀的</p>
          <p>C.松散的</p>
          <video
            :src="videoPathOne"
            webkit-playsinline="true"
            x-webkit-airplay="true"
            playsinline="true"
            x5-video-orientation="h5"
            x5-video-player-fullscreen="true"
            x5-playsinline=""
            controls
            controlslist="nodownload"
            class="w100"
            style="margin-top: 40px; border-radius: 10px; border: 2px solid green;"
          ></video>
          <h2>视频: æˆ‘们是一家人</h2>
        </div>
        <p class="center">
          <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
        </p>
      </div>
    </div>
    <div class="page-box" page="7" style="min-height: auto">
      <div v-if="showPageList.indexOf(7) > -1">
        <h1>
          <img
            src="../../assets/images/header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <img src="../../assets/images/page5.png" alt="" />
          <h2 id="b002">第二课 津津乐道</h2>
          <h3 class="lefth3" id="c003">
            <img class="img-gn1" alt="" src="image/rhybx.jpg" />
          </h3>
          <p>
            <span class="hs1">◇</span
            >请将以下课文选段大声朗诵出来,加点的字请重读。
          </p>
          <h1><audio :src="auidoPathThree" controls></audio></h1>
          <div class="bj3">
            <p class="center">
              <span class="hs"
                >春<a id="w1"><sup>1</sup></a>(节选)</span>
            </p>
            <p class="center">朱自清</p>
            <p class="block">
              ç›¼æœ›ç€ï¼Œ<span class="un1">盼望着</span>,东风来了,春天的脚步<span
                class="un1"
                >近</span
              >了。
            </p>
            <p class="block">
              ä¸€åˆ‡éƒ½åƒ<span class="un1">刚睡醒</span>的样子,欣欣然<span
                class="un1"
                >张开</span
              >了眼。山<span class="un1">朗润</span>起来了,水<span class="un1"
                >涨</span
              >起来了,太阳的脸<span class="un1">红</span>起来了。
            </p>
          </div>
          <h3 class="lefth3" id="c004">
            <img class="img-gn1" alt="" src="image/czysj.jpg" />
          </h3>
          <p>
            <span class="hs1">◇</span
            >在《一块奶酪》的故事中,小蚂蚁们都有各自的立场,你能理解他们的想法吗?请你和同伴根据故事内容讨论一下。
          </p>
          <hr />
          <p class="note">
            <a id="m1">1</a>
            æœ±è‡ªæ¸…:《春》,见温儒敏等:《义务教育教科书 è¯­æ–‡
            ä¸ƒå¹´çº§ä¸Šå†Œã€‹ï¼Œ2页,北京,人民教育出版社,2016。
          </p>
        </div>
        <!-- æ­¤æ¬¡ä¸ºé¡µè„šéƒ¨åˆ†ï¼ˆéœ€è¦è®¾ç½®é¡µç ï¼‰ -->
        <div>
            <div style="position: absolute; z-index: 99;background-color: rgba(208,226,179); width: 30px; height: 30px; border-radius: 50%; margin-left: 98px; margin-top: 38px; text-align: center; font-size: 25px;">4</div>
            <h1 style="position: relative; z-index: 1;"><img class="img-0" alt="" src="../../assets/images/ym.jpg" /></h1>
        </div>
      </div>
    </div>
    <div class="page-box" page="8" style="min-height: auto">
      <div v-if="showPageList.indexOf(8) > -1">
        <h1>
          <img
            src="../../assets/images/header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <img src="../../assets/images/page5.png" alt="" />
          <h2 id="b003">第三课 内心的声音</h2>
          <h1 class="lefth3 openImgBox" id="c005">
            <img
              class="img-gn1"
              alt=""
              src="../../assets/images/1-3.gif"
              style="height: auto; width: 50%"
            />
          </h1>
          <p>
            <span class="hs1">◇</span
            >请将以下课文选段大声朗诵出来,加点的字请重读。
          </p>
          <h1><audio :src="auidoPathTwo" controls></audio></h1>
          <div class="bj3">
            <p class="center">
              <span class="hs"
                >春<a id="w1"></a><sup>1</sup>(节选)</span
              >
            </p>
            <p class="center">朱自清</p>
            <p class="block">
              å°è‰å·å·åœ°ä»ŽåœŸé‡Œ<span class="un1">钻出来</span>,<span class="un1"
                >嫩嫩的</span
              >,<span class="un1">绿绿的</span>。园子里,田野里,<span
                class="un1"
                >瞧</span
              >去,一大片一大片满是的。<span class="un1">坐</span>着,<span
                class="un1"
                >躺</span
              >着,<span class="un1">打</span>两个<span class="un1">滚</span
              >儿,<span class="un1">踢</span>几脚<span class="un1">球</span
              >,<span class="un1">赛</span>几趟<span class="un1">跑</span
              >,<span class="un1">捉</span>几回<span class="un1">迷藏</span
              >。风<span class="un1">轻悄悄</span>的,草<span class="un1"
                >软绵绵</span
              >的。
            </p>
          </div>
          <h3 class="lefth3" id="c006">
            <img class="img-gn1" alt="" src="image/czysj.jpg" />
          </h3>
          <p class="center">
            <img class="img-e" alt="" src="image/0010-1.jpg" />
          </p>
          <hr />
          <p class="note">
            <a id="m1">1</a>
            æœ±è‡ªæ¸…:《春》,见温儒敏等:《义务教育教科书 è¯­æ–‡
            ä¸ƒå¹´çº§ä¸Šå†Œã€‹ï¼Œ2页,北京,人民教育出版社,2016。
          </p>
        </div>
      </div>
          <!-- æ­¤æ¬¡ä¸ºé¡µè„šéƒ¨åˆ†ï¼ˆéœ€è¦è®¾ç½®é¡µç ï¼‰ -->
          <div>
            <div style="position: absolute; z-index: 99;background-color: rgba(208,226,179); width: 30px; height: 30px; border-radius: 50%; margin-left: 98px; margin-top: 38px; text-align: center; font-size: 25px;">6</div>
            <h1 style="position: relative; z-index: 1;"><img class="img-0" alt="" src="../../assets/images/ym.jpg" /></h1>
        </div>
    </div>
    <div class="page-box" page="9" style="min-height: auto">
      <div v-if="showPageList.indexOf(9) > -1">
        <h1>
          <img
            src="../../assets/images/header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <img src="../../assets/images/page5.png" alt="" />
          <h3 class="lefth3" id="c006">
            <img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" />
          </h3>
          <h1 class="center openImgBox">
            <img
              class="img-e"
              alt=""
              src="../../assets/images/1-4.gif"
              style="height: auto; width: 50%"
            />
          </h1>
          <p>
            <span class="hs1">◇</span
            >生活中,我们总会遇到各种各样的诱惑。面对诱惑时,我们的内心常常会有两个不同的声音出现:一个声音要求我们严于律己,另一个声音要求我们随心所欲。请你分析一下,当蚂蚁队长面对掉落的奶酪渣的诱惑时,他内心的两个声音会说些什么呢?
          </p>
          <p>正义队长:“
            <input
                v-model="questionData.warnUp.one.value"
                class="input-bottom-border fz-18"
                @blur="handleQuestion('one')"
                @change="setBookQuestion" />”</p>
          <p>黑暗队长:“        <input
                v-model="questionData.warnUp.one.value"
                class="input-bottom-border fz-18"
                @blur="handleQuestion('two')"
                @change="setBookQuestion" />”</p>
        </div>
      </div>
        <!-- æ­¤æ¬¡ä¸ºé¡µè„šéƒ¨åˆ†ï¼ˆéœ€è¦è®¾ç½®é¡µç ï¼‰ -->
        <div>
            <div style="position: absolute; z-index: 99;background-color: rgba(208,226,179); width: 30px; height: 30px; border-radius: 50%; margin-left: 98px; margin-top: 38px; text-align: center; font-size: 25px;">8</div>
            <h1 style="position: relative; z-index: 1;"><img class="img-0" alt="" src="../../assets/images/ym.jpg" /></h1>
        </div>
    </div>
    <div class="page-box" page="10" style="min-height: auto">
      <div v-if="showPageList.indexOf(10) > -1">
        <h1>
          <img
            src="../../assets/images/page6-header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <h2 id="b004">第四课 身临其境</h2>
          <h3 class="lefth3" id="c007">
            <img class="img-gn1" alt="" src="../../assets/images/rhybx.jpg" />
          </h3>
          <p>
            <span class="hs1">◇</span
            >请将以下课文选段大声朗诵出来,加点的字请重读。
          </p>
          <h1>
            <audio :src="auidoPathTwo" controls></audio>
          </h1>
          <div class="bj3">
            <p class="center">
              <span class="hs"
                >春<a id="w1"><sup>1</sup></a
                >(节选)</span
              >
            </p>
            <p class="center">朱自清</p>
            <p class="block">
              <span class="un1">桃</span>树、<span class="un1">杏</span
              >树、<span class="un1">梨</span
              >树,你不让我,我不让你,都开满了花赶趟儿。红的像<span class="un1"
                >火</span
              >,粉的像<span class="un1">霞</span>,白的像<span class="un1"
                >雪</span
              >。花里带着甜味儿……
            </p>
          </div>
          <h3 class="lefth3" id="c008">
            <img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" />
          </h3>
          <p>
            <span class="hs1">◇</span
            >假如你是搬运奶酪的蚂蚁,你要怎么搬运不同形状、大小的奶酪呢?请先为自己设计一个剧本吧:
          </p>
          <p>
            æˆ‘是蚂蚁 <input
                v-model="questionData.warnUp.one.value"
                class="input-bottom-border fz-18"
                style=" width: 10%;"
                @blur="handleQuestion('three')"
                @change="setBookQuestion" />(名字),今天是
                <input
                v-model="questionData.warnUp.one.value"
                class="input-bottom-border fz-18"
                style=" width: 10%;"
                @blur="handleQuestion('four')"
                @change="setBookQuestion" />(天气),我的奶酪特别 <input
                v-model="questionData.warnUp.one.value"
                class="input-bottom-border fz-18"
                style=" width: 10%;"
                @blur="handleQuestion('five')"
                @change="setBookQuestion" />(轻/重),我感觉好 <input
                v-model="questionData.warnUp.one.value"
                class="input-bottom-border fz-18"
                style=" width: 10%;"
                @blur="handleQuestion('six')"
                @change="setBookQuestion" />(身体感觉)啊!
          </p>
          <hr />
          <p class="note">
            <a id="m1">1</a>
            æœ±è‡ªæ¸…:《春》,见温儒敏等:《义务教育教科书 è¯­æ–‡
            ä¸ƒå¹´çº§ä¸Šå†Œã€‹ï¼Œ2页,北京,人民教育出版社,2016。
          </p>
        </div>
      </div>
      <p class="center">
        <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
      </p>
    </div>
    <div class="page-box" page="11" style="min-height: auto">
      <div v-if="showPageList.indexOf(11) > -1">
        <h1>
          <img
            src="../../assets/images/header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <img src="../../assets/images/page5.png" alt="" />
          <p class="center openImgBox">
            <img class="img-e" alt="" src="../../assets/images/1-5.gif" />
          </p>
          <p>
            <span class="hs1">◇</span
            >蚂蚁队长把奶酪渣留给了年龄最小的蚂蚁,赢得了大家的认可。在生活中,你曾经像“蚂蚁队长”一样爱护弱小吗?或者像“小蚂蚁”一样得到过哥哥姐姐们的关爱吗?
          </p>
        </div>
      </div>
      <p class="center">
        <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
      </p>
    </div>
    <div class="page-box" page="12" style="min-height: auto">
      <div v-if="showPageList.indexOf(12) > -1">
        <h1>
          <img
            src="../../assets/images/page6-header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <h2 id="b005">单元活动任务</h2>
          <h3 class="lefth3" id="c009">
            <img class="img-gn1" alt="" src="../../assets/images/xsyty.jpg" />
          </h3>
          <p><span class="hs1">◇</span>放大缩小</p>
          <p>
            è¯·ä½ äº¤æ›¿â€œæ”¾å¤§â€å’Œâ€œç¼©å°â€äº”官。在“放大”时,想象五官要飞到外太空;在“缩小”时,想象五官全部缩小到了鼻尖上。
          </p>
          <p><span class="hs1">◇</span>提升苹果肌</p>
          <p>
            æƒ³è±¡ä½ åœ¨ä¸€ä¸ªé™Œç”Ÿçš„地方,谁都不认识,突然遇见了好朋友,你很高兴,上前和他/她打招呼。做一做你此时的表情吧。
          </p>
          <p><span class="hs1">◇</span>微笑说“ang”</p>
          <p>
            è¯·ä½ è¯•一试在提升苹果肌的基础上,发出“ang”的音。声音要尽可能拉长、保持稳定,并向远送。
          </p>
          <p><span class="hs1">◇</span>向远山喊“阿毛”</p>
          <p>
            æƒ³è±¡è‡ªå·±ç«™åœ¨ä¸€åº§é«˜å±±ä¸Šï¼Œå¥½æœ‹å‹â€œé˜¿æ¯›â€ç«™åœ¨å¯¹é¢çš„高山上,你要如何喊他呢?
          </p>
        </div>
      </div>
      <p class="center">
        <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
      </p>
    </div>
    <div class="page-box" page="13" style="min-height: auto">
      <div v-if="showPageList.indexOf(13) > -1">
        <h1>
          <img
            src="../../assets/images/page6-header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <h3 class="lefth3" id="c010">
            <img class="img-gn1" alt="" src="../../assets/images/tzyys.jpg" />
          </h3>
          <p><span class="hs1">◇</span>排一排·演一演:孔融让梨</p>
          <p>
            å­”融四岁就懂礼貌、知谦让,是我们学习的好榜样,让我们运用本单元的戏剧知识,把他的故事表演出来吧!
          </p>
          <p class="center">
            <video
            :src="videoPathOne"
            webkit-playsinline="true"
            x-webkit-airplay="true"
            playsinline="true"
            x5-video-orientation="h5"
            x5-video-player-fullscreen="true"
            x5-playsinline=""
            controls
            controlslist="nodownload"
            class="w100"
             style="margin-top: 40px; border-radius: 10px; border: 2px solid green;"
          ></video>
          <h2>视频: æˆ‘们是一家人</h2>
          </p>
        </div>
      </div>
      <p class="center">
        <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
      </p>
    </div>
  </div>
</template>
  <script>
import matching from "@/components/matching/matching.vue";
import { getResourcePath } from "@/assets/methods/resources";
export default {
  name: "chapterOne",
  components: { matching },
  props: {
    showPageList: {
      type: Array,
    },
  },
  //在这里对调用的方法进行挂载
  mounted() {
    this.getVidoePath();
  },
  data() {
    return {
      videoPathOne: "",
      auidoPathOne: "",
      auidoPathTwo: "",
      rawData: {
        left: [
          {
            oldId: "FB34",
            txt: "我请你吃苹果吧!",
          },
          {
            oldId: "64D6",
            txt: "我请你吃苹果吧!",
          },
          {
            oldId: "2ED4",
            txt: "我请你吃苹果吧!",
          },
          {
            oldId: "44DE",
            txt: "我请你吃苹果吧!",
          },
        ],
        right: [
          {
            oldId: "64D6",
            txt: "强调是请客",
          },
          {
            oldId: "FB34",
            txt: "强调请的是“你”",
          },
          {
            oldId: "2ED4",
            txt: "强调吃的东西是“苹果”",
          },
          {
            oldId: "44DE",
            txt: "强调请客的人是“我”",
          },
        ],
      },
      question: {
        KnowledgePoint: "123",
        analysis: "123",
        answer: [
          {
            id: "FB34",
            linkValue: "我请你吃苹果吧!",
            value: "强调是请客",
          },
          {
            id: "64D6",
            linkValue: "我请你吃苹果吧!",
            value: "强调请的是“你”",
          },
          {
            id: "2ED4",
            linkValue: "我请你吃苹果吧!",
            value: "强调吃的东西是“苹果”",
          },
          {
            id: "44DE",
            linkValue: "我请你吃苹果吧!",
            value: "强调请客的人是“我”",
          },
        ],
        optionStyle: undefined,
        id: 489306,
        options: {
          linkValues: [
            {
              oldId: "64D6",
              txt: "It is one of China's must-see sights for visitors, which shows thewisdom of Chinese people.",
            },
            {
              oldId: "44DE",
              txt: "It was first discovered and drank in China and my favoriteLongjing tea is produced near the West Lake in Hangzhou.",
            },
            {
              oldId: "FB34",
              txt: "The clothing material is quite popular among Roman women inancient times.",
            },
            {
              oldId: "2ED4",
              txt: "It is very delicious and I like the hot and spicy Sichuan lavor hest.",
            },
          ],
          values: [
            {
              oldId: "FB34",
              txt: "Martin  Silk",
            },
            {
              oldId: "64D6",
              txt: "The Great Wall",
            },
            {
              oldId: "2ED4",
              txt: "Chinese Food",
            },
            {
              oldId: "44DE",
              txt: "Chinese Tea",
            },
          ],
        },
        questionType: "matching",
        stem: {
          stemTxt: "按顺序连线",
        },
        stemStyle: undefined,
        titleDescription: "1",
        userChoise: [],
        value: [],
      },
      questionData: {
        warnUp: {
          one: {
            value: "",
            isRight: null,
            answer: "Chinese knot",
          },
          two: {
            value: "",
            isRight: null,
            answer: "Chinese medicine",
          },
          three: {
            value: "",
            isRight: null,
            answer: "Chinese calligraphy",
          },
          four: {
            value: "",
            isRight: null,
            answer: "Taichi",
          },
          five: {
            value: "",
            isRight: null,
            answer: "sweet dumpling",
          },
          six: {
            value: "",
            isRight: null,
            answer: "Chinese chess",
          },
        },
        reading: {
          one: "",
          two: "",
        },
        table: {
          one: "",
          two: "",
          three: "",
          four: "",
          five: "",
          six: "",
          seven: "",
          enight: "",
          nine: "",
        },
      },
    };
  },
  methods: {
    //视频和音频的MD5地址
    async getVidoePath() {
      this.videoPathOne = await getResourcePath(
        "691cbd2c13198d04afc7800d0f2cafb0"
      );
      this.videoPathTwo = await getResourcePath(
        "a3c9b55ac8227e4c885384ff2fc6c0e7"
      );
      this.videoPathThree = await getResourcePath(
        "dd44a1e31b4304f50d10b2481a148411"
      );
      this.videoPathFour = await getResourcePath(
        "09de7704eeaaf3a210b8c6af0a94d545"
      );
      this.auidoPathOne = await getResourcePath(
        "2c5f6c69b0f9f7a3c03e473cb8c977f5"
      );
      this.auidoPathTwo = await getResourcePath(
        "e93c0fdde08be5a4386c8c863892a287"
      );
      this.auidoPathThree = await getResourcePath(
        "e93c0fdde08be5a4386c8c863892a287"
      );
    },
  },
};
</script>
  <style lang="less" scoped>
.w70 {
  width: 78%;
}
.fw-400 {
  font-weight: 400 !important;
}
.fz-26 {
  font-size: 26px !important;
}
.cover-img {
  position: absolute;
  top: 33%;
  left: 23%;
}
.division-line {
  width: 2px;
  height: 100%;
  background-color: red;
}
</style>
src/books/artAndDrama/view/components/chapter002.vue
New file
@@ -0,0 +1,633 @@
<template>
  <div class="chapter" num="3">
    <div class="page-box" page="14" style="min-height: auto">
      <div v-if="showPageList.indexOf(14) > -1">
        <h1 id="a004">
          <!-- è¿™é‡Œçš„动图有问题,没有背景图片 -->
          <img class="img-0" alt="" src="../../assets/images/dy2.jpg" />
          <audio :src="auidoPathOne" controls></audio>
        </h1>
        <div class="bodystyle">
          <div class="bk">
            <div class="bj1">
              <p class="left">
                <img class="img-gn" alt="" src="../../assets/images/dydd.jpg" />
              </p>
            </div>
            <p class="block">
              æˆå‰§è¡¨æ¼”中的动作、体态、眼神、声音在塑造角色时起到了重要的作用。本单元我们将继续学习《一块奶酪》的故事,并以偶剧的形式进行表演。
            </p>
          </div>
        </div>
        <p><br /></p>
        <h1><img class="img-0" alt="" src="../../assets/images/ym.jpg" /></h1>
      </div>
    </div>
    <div class="page-box" page="15" style="min-height: auto">
      <div v-if="showPageList.indexOf(15) > -1">
        <h1>
          <img
            src="../../assets/images/header-green.png"
            alt=""
            style="width: 100%; height: auto"
          />
        </h1>
        <div class="bodystyle">
          <img src="../../assets/images/page5.png" alt="" />
          <h2 id="b006">第一课 五官的力量</h2>
          <h3 class="lefth3" id="c011">
            <img class="img-gn1" alt="" src="../../assets/images/rhybx.jpg" />
          </h3>
          <p><span class="hs1">◇</span>我是小画家</p>
          <p>保持头部不动,试着用眼神画出下面的图案吧!</p>
          <p class="center">
            <img class="img-e" alt="" src="../../assets/images/0016-1.jpg" />
          </p>
          <p><span class="hs1">◇</span>嗅觉大冒险</p>
          <p>
            ä½ æœ€çˆ±åƒçš„食物是_________。当闻到它的味道时,你会做出什么表情呢?
          </p>
          <p>
            ä½ æœ€ä¸çˆ±åƒçš„食物是_________。当闻到它的味道时,你会做出什么表情呢?
          </p>
          <h3 class="lefth3" id="c012">
            <img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" />
          </h3>
          <p>
            <span class="hs1">◇</span
            >以小组为单位,使用手偶道具表演附录中的剧本选段2。
          </p>
          <p class="center">
            <img class="img-e" alt="" src="../../assets/images/0016-2.jpg" />
          </p>
        </div>
        <p><br /></p>
        <h1><img class="img-0" alt="" src="../../assets/images/ym.jpg" /></h1>
      </div>
    </div>
    <!--<div class="page-box" page="16" style="min-height: auto">
        <div v-if="showPageList.indexOf(16) > -1">
          <h1>
            <img
              src="../../assets/images/page6-header-green.png"
              alt=""
              style="height: auto; width: 100%"
            />
          </h1>
          <div class="bodystyle">
            <h1 class="lefth3" id="c002">
              <img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" />
            </h1>
            <p><span class="hs1">◇</span>请选出你认为正确的答案。</p>
            <p class="center">
              <img class="img-e" alt="" src="../../assets/images/1-2蚂蚁举大树.gif" />
            </p>
            <p>蚂蚁是典型的(  )昆虫。(多选)</p>
            <p>A.群居</p>
            <p>B.社会性</p>
            <p>C.独居</p>
            <p>蚂蚁内部有(  )分工。(多选)</p>
            <p>A.明确的</p>
            <p>B.奇怪的</p>
            <p>C.有序的</p>
            <p>一个(  )群体少不了默契的配合。(多选)</p>
            <p>A.团结的</p>
            <p>B.优秀的</p>
            <p>C.松散的</p>
            <video
              :src="videoPathOne"
              webkit-playsinline="true"
              x-webkit-airplay="true"
              playsinline="true"
              x5-video-orientation="h5"
              x5-video-player-fullscreen="true"
              x5-playsinline=""
              controls
              controlslist="nodownload"
              class="w100"
              style="margin-top: 40px"
            ></video>
          </div>
          <p class="center">
            <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
          </p>
        </div>
      </div>
      <div class="page-box" page="17" style="min-height: auto">
        <div v-if="showPageList.indexOf(17) > -1">
          <h1>
            <img
              src="../../assets/images/header-green.png"
              alt=""
              style="width: 100%; height: auto"
            />
          </h1>
          <div class="bodystyle">
            <img src="../../assets/images/page5.png" alt="" />
            <h2 id="b002">第二课 津津乐道</h2>
            <h3 class="lefth3" id="c003">
              <img class="img-gn1" alt="" src="image/rhybx.jpg" />
            </h3>
            <p>
              <span class="hs1">◇</span
              >请将以下课文选段大声朗诵出来,加点的字请重读。
            </p>
            <audio :src="auidoPathThree" controls></audio>
            <div class="bj3">
              <p class="center">
                <span class="hs"
                  >春<a id="w1"></a><a href="chapter003.html#m1"><sup>[1]</sup></a
                  >(节选)</span
                >
              </p>
              <p class="center">朱自清</p>
              <p class="block">
                ç›¼æœ›ç€ï¼Œ<span class="un1">盼望着</span>,东风来了,春天的脚步<span
                  class="un1"
                  >近</span
                >了。
              </p>
              <p class="block">
                ä¸€åˆ‡éƒ½åƒ<span class="un1">刚睡醒</span>的样子,欣欣然<span
                  class="un1"
                  >张开</span
                >了眼。山<span class="un1">朗润</span>起来了,水<span class="un1"
                  >涨</span
                >起来了,太阳的脸<span class="un1">红</span>起来了。
              </p>
            </div>
            <h3 class="lefth3" id="c004">
              <img class="img-gn1" alt="" src="image/czysj.jpg" />
            </h3>
            <p>
              <span class="hs1">◇</span
              >在《一块奶酪》的故事中,小蚂蚁们都有各自的立场,你能理解他们的想法吗?请你和同伴根据故事内容讨论一下。
            </p>
            <hr />
            <p class="note">
              <a id="m1"></a><a href="chapter003.html#w1">[1]</a>
              æœ±è‡ªæ¸…:《春》,见温儒敏等:《义务教育教科书 è¯­æ–‡
              ä¸ƒå¹´çº§ä¸Šå†Œã€‹ï¼Œ2页,北京,人民教育出版社,2016。
            </p>
          </div>
          <p class="center">
            <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
          </p>
        </div>
      </div>
      <div class="page-box" page="18" style="min-height: auto">
        <div v-if="showPageList.indexOf(18) > -1">
          <h1>
            <img
              src="../../assets/images/header-green.png"
              alt=""
              style="width: 100%; height: auto"
            />
          </h1>
          <div class="bodystyle">
            <img src="../../assets/images/page5.png" alt="" />
            <h2 id="b003">第三课 内心的声音</h2>
            <h1 class="lefth3" id="c005">
              <img
                class="img-gn1"
                alt=""
                src="../../assets/images/1-3.gif"
                style="height: auto; width: 50%"
              />
            </h1>
            <p>
              <span class="hs1">◇</span
              >请将以下课文选段大声朗诵出来,加点的字请重读。
            </p>
            <p class="center">
              <img class="img-e" alt="" src="image/0009-1.jpg" />
            </p>
            <audio :src="auidoPathTwo" controls></audio>
            <div class="bj3">
              <p class="center">
                <span class="hs"
                  >春<a id="w1"></a><a href="chapter004.html#m1"><sup>[1]</sup></a
                  >(节选)</span
                >
              </p>
              <p class="center">朱自清</p>
              <p class="block">
                å°è‰å·å·åœ°ä»ŽåœŸé‡Œ<span class="un1">钻出来</span>,<span class="un1"
                  >嫩嫩的</span
                >,<span class="un1">绿绿的</span>。园子里,田野里,<span
                  class="un1"
                  >瞧</span
                >去,一大片一大片满是的。<span class="un1">坐</span>着,<span
                  class="un1"
                  >躺</span
                >着,<span class="un1">打</span>两个<span class="un1">滚</span
                >儿,<span class="un1">踢</span>几脚<span class="un1">球</span
                >,<span class="un1">赛</span>几趟<span class="un1">跑</span
                >,<span class="un1">捉</span>几回<span class="un1">迷藏</span
                >。风<span class="un1">轻悄悄</span>的,草<span class="un1"
                  >软绵绵</span
                >的。
              </p>
            </div>
            <h3 class="lefth3" id="c006">
              <img class="img-gn1" alt="" src="image/czysj.jpg" />
            </h3>
            <p class="center">
              <img class="img-e" alt="" src="image/0010-1.jpg" />
            </p>
            <hr />
            <p class="note">
              <a id="m1"></a><a href="chapter004.html#w1">[1]</a>
              æœ±è‡ªæ¸…:《春》,见温儒敏等:《义务教育教科书 è¯­æ–‡
              ä¸ƒå¹´çº§ä¸Šå†Œã€‹ï¼Œ2页,北京,人民教育出版社,2016。
            </p>
          </div>
        </div>
        <p class="center">
          <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
        </p>
      </div>
      <div class="page-box" page="19" style="min-height: auto">
        <div v-if="showPageList.indexOf(19) > -1">
          <h1>
            <img
              src="../../assets/images/header-green.png"
              alt=""
              style="width: 100%; height: auto"
            />
          </h1>
          <div class="bodystyle">
            <img src="../../assets/images/page5.png" alt="" />
            <h3 class="lefth3" id="c006">
              <img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" />
            </h3>
            <h1 class="center">
              <img
                class="img-e"
                alt=""
                src="../../assets/images/1-4.gif"
                style="height: auto; width: 50%"
              />
            </h1>
            <p>
              <span class="hs1">◇</span
              >生活中,我们总会遇到各种各样的诱惑。面对诱惑时,我们的内心常常会有两个不同的声音出现:一个声音要求我们严于律己,另一个声音要求我们随心所欲。请你分析一下,当蚂蚁队长面对掉落的奶酪渣的诱惑时,他内心的两个声音会说些什么呢?
            </p>
            <p>正义队长:“_________________________________。”</p>
            <p>黑暗队长:“_________________________________。”</p>
          </div>
        </div>
        <p class="center">
          <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
        </p>
      </div>
      <div class="page-box" page="20" style="min-height: auto">
        <div v-if="showPageList.indexOf(20) > -1">
          <h1>
            <img
              src="../../assets/images/page6-header-green.png"
              alt=""
              style="width: 100%; height: auto"
            />
          </h1>
          <div class="bodystyle">
            <h2 id="b004">第四课 身临其境</h2>
            <h3 class="lefth3" id="c007">
              <img class="img-gn1" alt="" src="../../assets/images/rhybx.jpg" />
            </h3>
            <p>
              <span class="hs1">◇</span
              >请将以下课文选段大声朗诵出来,加点的字请重读。
            </p>
            <audio :src="auidoPathTwo" controls></audio>
            <div class="bj3">
              <p class="center">
                <span class="hs"
                  >春<a id="w1"></a><a href="chapter005.html#m1"><sup>[1]</sup></a
                  >(节选)</span
                >
              </p>
              <p class="center">朱自清</p>
              <p class="block">
                <span class="un1">桃</span>树、<span class="un1">杏</span
                >树、<span class="un1">梨</span
                >树,你不让我,我不让你,都开满了花赶趟儿。红的像<span class="un1"
                  >火</span
                >,粉的像<span class="un1">霞</span>,白的像<span class="un1"
                  >雪</span
                >。花里带着甜味儿……
              </p>
            </div>
            <h3 class="lefth3" id="c008">
              <img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" />
            </h3>
            <p>
              <span class="hs1">◇</span
              >假如你是搬运奶酪的蚂蚁,你要怎么搬运不同形状、大小的奶酪呢?请先为自己设计一个剧本吧:
            </p>
            <p>
              æˆ‘是蚂蚁_________(名字),今天是_________(天气),我的奶酪特别_________(轻/重),我感觉好_________(身体感觉)啊!
            </p>
            <hr />
            <p class="note">
              <a id="m1"></a><a href="chapter003.html#w1">[1]</a>
              æœ±è‡ªæ¸…:《春》,见温儒敏等:《义务教育教科书 è¯­æ–‡
              ä¸ƒå¹´çº§ä¸Šå†Œã€‹ï¼Œ2页,北京,人民教育出版社,2016。
            </p>
          </div>
        </div>
        <p class="center">
          <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
        </p>
      </div>
      <div class="page-box" page="21" style="min-height: auto">
        <div v-if="showPageList.indexOf(21) > -1">
          <h1>
            <img
              src="../../assets/images/header-green.png"
              alt=""
              style="width: 100%; height: auto"
            />
          </h1>
          <div class="bodystyle">
            <img src="../../assets/images/page5.png" alt="" />
            <p class="center">
              <img class="img-e" alt="" src="../../assets/images/1-5.gif" />
            </p>
            <p>
              <span class="hs1">◇</span
              >蚂蚁队长把奶酪渣留给了年龄最小的蚂蚁,赢得了大家的认可。在生活中,你曾经像“蚂蚁队长”一样爱护弱小吗?或者像“小蚂蚁”一样得到过哥哥姐姐们的关爱吗?
            </p>
          </div>
        </div>
        <p class="center">
          <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
        </p>
      </div>
      <div class="page-box" page="22" style="min-height: auto">
        <div v-if="showPageList.indexOf(22) > -1">
          <h1>
            <img
              src="../../assets/images/page6-header-green.png"
              alt=""
              style="width: 100%; height: auto"
            />
          </h1>
          <div class="bodystyle">
            <h2 id="b005">单元活动任务</h2>
            <h3 class="lefth3" id="c009">
              <img class="img-gn1" alt="" src="../../assets/images/xsyty.jpg" />
            </h3>
            <p><span class="hs1">◇</span>放大缩小</p>
            <p>
              è¯·ä½ äº¤æ›¿â€œæ”¾å¤§â€å’Œâ€œç¼©å°â€äº”官。在“放大”时,想象五官要飞到外太空;在“缩小”时,想象五官全部缩小到了鼻尖上。
            </p>
            <p><span class="hs1">◇</span>提升苹果肌</p>
            <p>
              æƒ³è±¡ä½ åœ¨ä¸€ä¸ªé™Œç”Ÿçš„地方,谁都不认识,突然遇见了好朋友,你很高兴,上前和他/她打招呼。做一做你此时的表情吧。
            </p>
            <p><span class="hs1">◇</span>微笑说“ang”</p>
            <p>
              è¯·ä½ è¯•一试在提升苹果肌的基础上,发出“ang”的音。声音要尽可能拉长、保持稳定,并向远送。
            </p>
            <p><span class="hs1">◇</span>向远山喊“阿毛”</p>
            <p>
              æƒ³è±¡è‡ªå·±ç«™åœ¨ä¸€åº§é«˜å±±ä¸Šï¼Œå¥½æœ‹å‹â€œé˜¿æ¯›â€ç«™åœ¨å¯¹é¢çš„高山上,你要如何喊他呢?
            </p>
          </div>
        </div>
        <p class="center">
          <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
        </p>
      </div>
      <div class="page-box" page="23" style="min-height: auto">
        <div v-if="showPageList.indexOf(23) > -1">
          <h1>
            <img
              src="../../assets/images/page6-header-green.png"
              alt=""
              style="width: 100%; height: auto"
            />
          </h1>
          <div class="bodystyle">
            <h3 class="lefth3" id="c010">
              <img class="img-gn1" alt="" src="../../assets/images/tzyys.jpg" />
            </h3>
            <p><span class="hs1">◇</span>排一排·演一演:孔融让梨</p>
            <p>
              å­”融四岁就懂礼貌、知谦让,是我们学习的好榜样,让我们运用本单元的戏剧知识,把他的故事表演出来吧!
            </p>
            <p class="center">
              <video
              :src="videoPathOne"
              webkit-playsinline="true"
              x-webkit-airplay="true"
              playsinline="true"
              x5-video-orientation="h5"
              x5-video-player-fullscreen="true"
              x5-playsinline=""
              controls
              controlslist="nodownload"
              class="w100"
              style="margin-top: 40px"
            ></video>
            </p>
          </div>
        </div>
        <p class="center">
          <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
        </p>
      </div> -->
  </div>
</template>
    <script>
import matching from "@/components/matching/matching.vue";
import { getResourcePath } from "@/assets/methods/resources";
export default {
  name: "chapterTwo",
  components: { matching },
  props: {
    showPageList: {
      type: Array,
    },
  },
   //在这里对调用的方法进行挂载
  mounted() {
    this.getVidoePath();
  },
  data() {
    return {
      videoPathOne: "",
      auidoPathOne: "",
      auidoPathTwo: "",
      rawData: {
        left: [
          {
            oldId: "FB34",
            txt: "我请你吃苹果吧!",
          },
          {
            oldId: "64D6",
            txt: "我请你吃苹果吧!",
          },
          {
            oldId: "2ED4",
            txt: "我请你吃苹果吧!",
          },
          {
            oldId: "44DE",
            txt: "我请你吃苹果吧!",
          },
        ],
        right: [
          {
            oldId: "64D6",
            txt: "强调是请客",
          },
          {
            oldId: "FB34",
            txt: "强调请的是“你”",
          },
          {
            oldId: "2ED4",
            txt: "强调吃的东西是“苹果”",
          },
          {
            oldId: "44DE",
            txt: "强调请客的人是“我”",
          },
        ],
      },
      question: {
        KnowledgePoint: "123",
        analysis: "123",
        answer: [
          {
            id: "FB34",
            linkValue: "我请你吃苹果吧!",
            value: "强调是请客",
          },
          {
            id: "64D6",
            linkValue: "我请你吃苹果吧!",
            value: "强调请的是“你”",
          },
          {
            id: "2ED4",
            linkValue: "我请你吃苹果吧!",
            value: "强调吃的东西是“苹果”",
          },
          {
            id: "44DE",
            linkValue: "我请你吃苹果吧!",
            value: "强调请客的人是“我”",
          },
        ],
        optionStyle: undefined,
        id: 489306,
        options: {
          linkValues: [
            {
              oldId: "64D6",
              txt: "It is one of China's must-see sights for visitors, which shows thewisdom of Chinese people.",
            },
            {
              oldId: "44DE",
              txt: "It was first discovered and drank in China and my favoriteLongjing tea is produced near the West Lake in Hangzhou.",
            },
            {
              oldId: "FB34",
              txt: "The clothing material is quite popular among Roman women inancient times.",
            },
            {
              oldId: "2ED4",
              txt: "It is very delicious and I like the hot and spicy Sichuan lavor hest.",
            },
          ],
          values: [
            {
              oldId: "FB34",
              txt: "Martin  Silk",
            },
            {
              oldId: "64D6",
              txt: "The Great Wall",
            },
            {
              oldId: "2ED4",
              txt: "Chinese Food",
            },
            {
              oldId: "44DE",
              txt: "Chinese Tea",
            },
          ],
        },
        questionType: "matching",
        stem: {
          stemTxt: "按顺序连线",
        },
        stemStyle: undefined,
        titleDescription: "1",
        userChoise: [],
        value: [],
      },
    };
  },
  methods: {
    //视频和音频的MD5地址
    async getVidoePath() {
      this.videoPathOne = await getResourcePath(
        "691cbd2c13198d04afc7800d0f2cafb0"
      );
      this.videoPathTwo = await getResourcePath(
        "a3c9b55ac8227e4c885384ff2fc6c0e7"
      );
      this.videoPathThree = await getResourcePath(
        "dd44a1e31b4304f50d10b2481a148411"
      );
      this.videoPathFour = await getResourcePath(
        "09de7704eeaaf3a210b8c6af0a94d545"
      );
      this.auidoPathOne = await getResourcePath(
        "2c5f6c69b0f9f7a3c03e473cb8c977f5"
      );
      this.auidoPathTwo = await getResourcePath(
        "e93c0fdde08be5a4386c8c863892a287"
      );
      this.auidoPathThree = await getResourcePath(
        "e93c0fdde08be5a4386c8c863892a287"
      );
    },
  },
};
</script>
    <style lang="less" scoped>
.w70 {
  width: 78%;
}
.fw-400 {
  font-weight: 400 !important;
}
.fz-26 {
  font-size: 26px !important;
}
.cover-img {
  position: absolute;
  top: 33%;
  left: 23%;
}
.division-line {
  width: 2px;
  height: 100%;
  background-color: red;
}
</style>
src/books/artAndDrama/view/components/chapter003.vue
src/books/artAndDrama/view/components/chapter004.vue
src/books/artAndDrama/view/components/header.vue
New file
@@ -0,0 +1,72 @@
<template>
  <div class="chapter" num="1">
    <div class="page-box mt-20" page="1" style="min-height: auto">
      <div v-if="showPageList.indexOf(1) > -1">
        <img class="img-0" alt="" src="../../assets/images/Cover.jpg" />
      </div>
    </div>
    <div class="page-box mt-20" page="2" style="min-height: auto">
      <div v-if="showPageList.indexOf(2) > -1">
        <img class="img-0" alt="" src="../../assets/images/SMY.jpg" />
      </div>
    </div>
    <div class="page-box mt-20" page="3">
      <div v-if="showPageList.indexOf(3) > -1" >
        <div  class="bodystyle">
        <ul class="fl fl-cl ju-bt pg-mh"   style="display: flex;  flex-direction: column; justify-content: flex-end; " >
          <li>
            <div style="margin-bottom: 100px;" >
              <p id="a003" class="front" style="margin: 0%;">编委会</p>
              <hr />
              <p>顾  问:<span class="kaiti">彭吉象 严燕生</span></p>
              <p>主  编:<span class="kaiti">麻文琦</span></p>
              <p>副 ä¸» ç¼–:<span class="kaiti">陈 利</span></p>
              <ul class="fl">
                <li>
                  <p class="wh-nr" style="margin: 0%;">编写委员:</p>
                </li>
                <li class="fl fl-cl">
                  <span class="kaiti">王谷川 谢霜南 李晨成 周力君 </span>
                  <span class="kaiti">韩燕楠菲</span>
                </li>
              </ul>
              <p>美术绘画:<span class="kaiti">何 冰</span></p>
              <ul class="fl">
                <li>
                  <p class="wh-nr" style="margin: 0%;">表 æ¼” è€…:</p>
                </li>
                <li class="fl fl-cl">
                  <span class="kaiti">本书部分文字作品著作权由中国文字著作权协会授权,</span>
                  <span class="kaiti">电话:010-65978917,传真:010-65978926,</span>
                  <span class="kaiti">E-mail:wenzhuxie@126.com。</span>
                </li>
              </ul>
              <p></p>
              <p>     </p>
              <p>     </p>
            </div>
            <!-- <p class="center pb-box">
              <img class="img-0" alt="" src="../../assets/images/ym.jpg" />
            </p> -->
          </li>
        </ul>
      </div>
      </div>
    </div>
  </div>
</template>
  <script>
export default {
  name: "pageHeader",
  props: {
    showPageList: {
      type: Array,
    },
  },
};
</script>
  <style scoped></style>
src/books/artAndDrama/view/components/index.vue
New file
@@ -0,0 +1,851 @@
<template>
    <div class="page-main" @scroll="throttledScrollHandler">
      <div id="searchDomBox" style="display: none">
        <div id="searchContent"></div>
      </div>
      <div
        class="page-content"
        :style="{
          fontSize: fontSize ? fontSize + 'px' : '16px',
          transform: `scale(${pageZoom ? pageZoom : 1})`,
          transformOrigin: 'center top',
        }"
      >
        <pageHeader
          v-if="showCatalogList.indexOf(1) > -1"
          :showPageList="loadPageList"
        ></pageHeader>
        <chapterOne
          v-if="showCatalogList.indexOf(2) > -1"
          :showPageList="loadPageList"
        ></chapterOne>
        <chapterTwo
          v-if="showCatalogList.indexOf(3) > -1"
          :showPageList="loadPageList"
        >
        </chapterTwo>
        <chapterThree
        v-if="showCatalogList.indexOf(4) > -1"
          :showPageList="loadPageList"
        ></chapterThree>
        <chapterFour
        v-if="showCatalogList.indexOf(5) > -1"
          :showPageList="loadPageList"
        ></chapterFour>
      </div>
    </div>
  </template>
  <script>
  import pageHeader from "./header.vue";
  import chapterOne from "./chapter001.vue";
  import chapterTwo from "./chapter002.vue";
  import chapterThree from "./chapter003.vue";
  import chapterFour from "./chapter004.vue";
  import NoteIcon from "@/assets/images/biji.png";
  import _ from "lodash";
  import Swiper from "swiper/bundle";
  import "swiper/swiper-bundle.css";
  import Viewer from "viewerjs";
  import "viewerjs/dist/viewer.css";
  export default {
    data() {
      return {
        catalogLength: 4, // æ€»ç« èŠ‚æ•°
        showCatalogList: [], // æ˜¾ç¤ºçš„章节
        loadThreshold: 300, // è§¦å‘加载阈值
        throttleThreshold: 100, // èŠ‚æµé˜ˆå€¼
        previousScrollTop: 0,
        throttledScrollHandler: null,
        observer: null,
        loadPageObserver: null,
        loadPageList: [],
        questionDataMap: {},
        renderSignMap: {},
        highlightData: null,
      };
    },
    computed: {
      fontSize() {
        return this.$store.state.qiankun.fontSize;
      },
      pageZoom() {
        return this.$store.state.qiankun.scale / 100;
      },
    },
    watch: {
      showCatalogList: {
        handler(newVal, oldVal) {
          if (
            this.$store.state.qiankun &&
            this.$store.state.qiankun.catalogChange
          ) {
            // è°ƒç”¨çˆ¶å±‚方法
            this.$store.state.qiankun.catalogChange({
              showCatalogList: newVal,
            });
          }
          // å¯åŠ¨é¡µç è§‚å¯Ÿ
          setTimeout(() => {
            this.initObservation();
            this.initThemeColor();
          }, 500);
        },
      },
      loadPageList: {
        handler(newVal, oldVal) {
          setTimeout(() => {
            this.initSwiper();
            this.initViewer();
          }, 200);
        },
      },
      pageZoom: {
        handler(newVal, oldVal) {
          const scrollBox = (
            this.container ? this.container : document
          ).querySelector(".page-main");
          scrollBox.scrollTop = (scrollBox.scrollTop / oldVal) * newVal;
        },
      },
    },
    mounted() {
      // é»˜è®¤åŠ è½½ç« èŠ‚
      this.showCatalogList = [1];
      // æ»šåŠ¨ç›‘å¬èŠ‚æµ
      this.throttledScrollHandler = _.throttle(
        this.scrollFun,
        this.throttleThreshold,
        { leading: true, trailing: false }
      );
      // å®šä¹‰å­å±‚方法
      if (this.setGlobalState) {
        // æä¾›é¡µé¢è·³è½¬åŠŸèƒ½
        this.setGlobalState({
          gotoPage: (catalog, page) => {
            this.gotoPage(catalog, page);
          },
          // æ¸²æŸ“笔记、高亮、划线
          renderSign: (type, data) => {
            // å› ä¸ºè°ƒæ•´ä¸ºé¡µé¢æ‡’加载,所以渲染标记也需要按照页面进行处理,先储存数据,页面加载完成再渲染对应的标记;
            this.handelSignData(type, data);
            // this.renderSign(type, data);
          },
          // åˆ é™¤ç¬”记、高亮、划线
          delSign: (data) => {
            this.delSign(data);
          },
          // å…¨æ–‡æ£€ç´¢
          searchBookByKeyword: (keyword) => {
            return this.searchTextByPage(keyword);
          },
          // è·³è½¬æ£€ç´¢ç»“果位置
          jumpSearchItem: (data) => {
            this.searchItemLocation(data);
          },
        });
      }
      // åˆ›å»ºä¸€ä¸ªæ–°çš„ Intersection Observer å®žä¾‹ï¼Œç”¨äºŽè§‚察目标元素和执行相应的回调函数。
      // new IntersectionObserver(callback, options):使用之前定义的 callback å›žè°ƒå‡½æ•°å’Œ options é…ç½®é€‰é¡¹æ¥åˆå§‹åŒ– Intersection Observer å®žä¾‹ã€‚
      this.observer = new IntersectionObserver(this.pageChangeCallback, {
        root: null, // æŒ‡å®šæ ¹å…ƒç´ ï¼Œè¿™é‡Œè®¾ä¸º null,表示选取整个视窗作为根元素。
        rootMargin: "0px", // æŒ‡å®šæ ¹å…ƒç´ çš„边界,这里设为 "0px",表示根元素的边界和视窗的边界重合
        threshold: 0.5, // æŒ‡å®šäº¤å‰æ¯”例,这里设为 0.5,表示当目标元素一半或更多显示在视窗中时触发回调函数。
      });
      this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, {
        root: null, // æŒ‡å®šæ ¹å…ƒç´ ï¼Œè¿™é‡Œè®¾ä¸º null,表示选取整个视窗作为根元素。
        rootMargin: "0px", // æŒ‡å®šæ ¹å…ƒç´ çš„边界,这里设为 "0px",表示根元素的边界和视窗的边界重合
        threshold: 0, // æŒ‡å®šäº¤å‰æ¯”例,这里设为 0.5,表示当目标元素一半或更多显示在视窗中时触发回调函数。
      });
      // å¯åŠ¨é¡µç è§‚å¯Ÿ
      setTimeout(() => {
        this.initObservation();
        this.initThemeColor();
      }, 500);
      // æµ‹è¯•页面跳转
      // setTimeout(() => {
      //   this.gotoPage(1, 10);
      //   setTimeout(() => {
      //     this.renderSign("Highlight", {
      //       id: "2ACA9359",
      //       txt: "题一学习主题一 è¿åЍ",
      //       page: "10",
      //       type: "Highlight",
      //       color: "#F5E12A"
      //     });
      // setTimeout(() => {
      //   this.delSign({
      //     ids: ["2ACA9359"]
      //   });
      // }, 2000);
      //   }, 5000);
      // const pageDom = (this.container ? this.container : document)
      //   .querySelector("#app")
      //   .querySelectorAll(".page-box");
      // æ£€ç´¢
      // console.log(this.searchTextByPage("保护内脏器官"), "searchTextByPage");
      // æ£€ç´¢è·³è½¬
      // this.searchItemLocation({
      //   catalog: 2,
      //   page: 10,
      //   txt: " è¿åŠ¨ç³»ç»Ÿæ˜¯ç”±éª¨ã€éª¨è¿žç»“å’Œéª¨éª¼è‚Œä¸‰éƒ¨åˆ†ç»„æˆçš„ã€‚å…¨èº«çš„éª¨é€šè¿‡éª¨è¿žç»“ç»„æˆäººä½“éª¨éª¼ï¼ˆè§å›¾1-1)。骨骼是人体的支架,具有保护内脏器官、供肌肉附着和作为肌肉运动的杠杆等作用。在神经系统的支配下,肌肉收缩牵动所附着的骨绕着关节转动,使身体产生各种动作。所以,运动系统具有运动、支持和保护等功能,幼年时期的骨骼还具有造血功能。 ",
      //   txtIndex: 57
      // });
      // }, 5000);
    },
    methods: {
      // setZoom1() {
      //   let scale = this.$store.state.qiankun.scale + 10;
      //   const scrollBox = (
      //     this.container ? this.container : document
      //   ).querySelector(".page-main");
      //   this.$store.commit("setZoom", scale);
      // },
      // setZoom2() {
      //   let scale = this.$store.state.qiankun.scale - 10;
      //   const scrollBox = (
      //     this.container ? this.container : document
      //   ).querySelector(".page-main");
      //   this.$store.commit("setZoom", scale);
      // },
      // æ»šåŠ¨ç›‘å¬
      scrollFun(event) {
        // åˆ¤æ–­å‘上滚动还是向下滚动
        if (event.target.scrollTop > this.previousScrollTop) {
          // å‘下
          const currentScrollTop =
            event.target.scrollTop + event.target.offsetHeight;
          if (
            currentScrollTop >=
            event.target.scrollHeight - this.loadThreshold
          ) {
            // åˆ°è¾¾é˜ˆå€¼
            if (
              this.showCatalogList[this.showCatalogList.length - 1] <
              this.catalogLength
            ) {
              // åŠ è½½ä¸‹ä¸€ç« 
              this.showCatalogList.push(
                this.showCatalogList[this.showCatalogList.length - 1] + 1
              );
              if (this.showCatalogList.length > 3) {
                // è¶…过三章隐藏顶部一章
                this.showCatalogList.shift();
              }
            }
          }
        } else if (event.target.scrollTop < this.previousScrollTop) {
          // å‘上
          const currentScrollTop = event.target.scrollTop;
          if (currentScrollTop <= this.loadThreshold) {
            // åˆ°è¾¾é˜ˆå€¼
            if (this.showCatalogList[0] > 0) {
              // åŠ è½½ä¸Šä¸€ç« 
              this.showCatalogList.unshift(this.showCatalogList[0] - 1);
              if (this.showCatalogList.length > 3) {
                // è¶…过三章隐藏底部一章
                this.showCatalogList.pop();
              }
            }
          }
        }
        // showCatalogList å½“前显示的三个章节,watch监听传递给主应用
        // æ›´æ–°ä¸Šä¸€æ¬¡æ»šåŠ¨çš„ä½ç½®
        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 = (
              this.container ? this.container : document
            ).querySelector(`[page="${page}"]`);
            if (pageDom) {
              pageDom.scrollIntoView();
            } else {
              console.log("页码错误!");
            }
          }, 500);
        } else {
          console.log("章节错误!");
        }
      },
      // å¤„理标记数据
      handelSignData(type, data) {
        if (this.loadPageList.indexOf(Number(data.page)) > -1) {
          // ç«‹å³æ¸²æŸ“
          this.renderSign(type, data);
        }
        // å‚¨å­˜æ•°æ®
        if (!this.renderSignMap[type]) this.renderSignMap[type] = {};
        if (!this.renderSignMap[type][data.page])
          this.renderSignMap[type][data.page] = [];
        this.renderSignMap[type][data.page].push(data);
      },
      // æ¸²æŸ“标记
      renderSign(type, data) {
        // çˆ¶å±‚设置禁止渲染标记时不再进行渲染
        if (this.$store.state.qiankun.disableSign) {
          return false;
        }
        const existence = (
          this.container ? this.container : document
        ).querySelector(`[dataid="${data.id}"]`);
        // åŽ»é‡
        if (!existence) {
          const pageDom = (
            this.container ? this.container : document
          ).querySelector(`[page="${data.page}"]`);
          // åˆ›å»º createTreeWalker è¿­ä»£å™¨ï¼Œç”¨äºŽéåŽ†æ–‡æœ¬èŠ‚ç‚¹ï¼Œä¿å­˜åˆ°ä¸€ä¸ªæ•°ç»„
          const treeWalker = document.createTreeWalker(pageDom, NodeFilter.SHOW_TEXT);
          const allTextNodes = [];
          let currentNode = treeWalker.nextNode();
          while (currentNode) {
            allTextNodes.push(currentNode);
            currentNode = treeWalker.nextNode();
          }
          for (let i = 0; i < allTextNodes.length; i++) {
            const textDom = allTextNodes[i];
            if (textDom.textContent.indexOf(data.txt) > -1) {
              let reg = new RegExp(`${data.txt}`, "ig");
              switch (type) {
                case "Highlight":
                  // é«˜äº®
                  textDom.parentNode.innerHTML =
                    textDom.parentNode.innerHTML.replace(
                      reg,
                      `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>`
                    );
                  break;
                case "Dashing":
                  // åˆ’线
                  textDom.parentNode.innerHTML =
                    textDom.parentNode.innerHTML.replace(
                      reg,
                      `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>`
                    );
                  break;
                case "Note":
                  // ç¬”è®°
                  textDom.parentNode.innerHTML =
                    textDom.parentNode.innerHTML.replace(
                      reg,
                      `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>`
                    );
                  break;
              }
            }
          }
        }
      },
      // åˆ é™¤æ ‡è®°æ¸²æŸ“
      delSign({ ids, type }) {
        if (ids && ids.length) {
          for (let i = 0; i < ids.length; i++) {
            const id = ids[i];
            const dom = (
              this.container ? this.container : document
            ).querySelector(`[dataid="${id}"]`);
            dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
              dom.outerHTML,
              dom.outerText
            );
          }
        }
        if (type) {
          const doms = (
            this.container ? this.container : document
          ).querySelectorAll(`[datatype="${type}"]`);
          for (let i = 0; i < doms.length; i++) {
            const dom = doms[i];
            dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
              dom.outerHTML,
              dom.outerText
            );
          }
        }
      },
      initObservation() {
        const sections = (
          this.container ? this.container : document
        ).querySelectorAll(".page-box");
        sections.forEach((section) => {
          if (this.config.activeBook && this.config.activeBook.tryPageCount) {
            const page = section.getAttribute("page");
            if (Number(page) > this.config.activeBook.tryPageCount) {
              let chapterDom = this.getParentWithClass(section, "chapter");
              const chapterNum = chapterDom.getAttribute("num");
              this.catalogLength = Number(chapterNum) - 1;
              section.remove();
              return false;
            }
          }
          // observer è§‚察每个元素,以便在它们进入或离开视窗时触发回调函数。
          const isObserver = section.getAttribute("observer");
          const isLoadObserver = section.getAttribute("loadObserver");
          if (!isObserver) {
            this.observer.observe(section);
            section.setAttribute("observer", "1");
          }
          if (!isLoadObserver) {
            this.loadPageObserver.observe(section);
            section.setAttribute("loadObserver", "1");
          }
        });
      },
      initThemeColor() {
        // èŽ·å–å„ç§éœ€è¦ä¸»é¢˜è‰²çš„èŠ‚ç‚¹
        const colorDom = (
          this.container ? this.container : document
        ).querySelectorAll(".theme-color");
        const backgroundColorDom = (
          this.container ? this.container : document
        ).querySelectorAll(".theme-back");
        const borderColorDom = (
          this.container ? this.container : document
        ).querySelectorAll(".theme-border");
        // èŽ·å–é…ç½®çš„ä¸»é¢˜è‰²
        const bookThemeColor =
          this.config.activeBook && this.config.activeBook.bookThemeColor
            ? this.config.activeBook.bookThemeColor
            : null;
        const chapterThemeColor =
          this.config.activeBook && this.config.activeBook.chapterThemeColor
            ? this.config.activeBook.chapterThemeColor
            : null;
        const pageThemeColor =
          this.config.activeBook && this.config.activeBook.pageThemeColor
            ? this.config.activeBook.pageThemeColor
            : null;
        colorDom.forEach((domItem) => {
          // èŽ·å–ç« èŠ‚ã€é¡µç 
          let pageDom = this.getParentWithClass(domItem, "page-box");
          let chapterDom = this.getParentWithClass(domItem, "chapter");
          let page, chapterNum;
          if (pageDom) page = pageDom.getAttribute("page");
          if (chapterDom) chapterNum = chapterDom.getAttribute("num");
          // å‘上匹配主题色
          const themeColor =
            page && pageThemeColor && pageThemeColor[page]
              ? pageThemeColor[page]
              : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
              ? chapterThemeColor[chapterNum]
              : bookThemeColor;
          if (themeColor) {
            domItem.style.color = themeColor;
          }
        });
        backgroundColorDom.forEach((domItem) => {
          // èŽ·å–ç« èŠ‚ã€é¡µç 
          let pageDom = this.getParentWithClass(domItem, "page-box");
          let chapterDom = this.getParentWithClass(domItem, "chapter");
          let page, chapterNum;
          if (pageDom) page = pageDom.getAttribute("page");
          if (chapterDom) chapterNum = chapterDom.getAttribute("num");
          // å‘上匹配主题色
          const themeColor =
            page && pageThemeColor && pageThemeColor[page]
              ? pageThemeColor[page]
              : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
              ? chapterThemeColor[chapterNum]
              : bookThemeColor;
          if (themeColor) {
            domItem.style.backgroundColor = themeColor;
          }
        });
        borderColorDom.forEach((domItem) => {
          // èŽ·å–ç« èŠ‚ã€é¡µç 
          let pageDom = this.getParentWithClass(domItem, "page-box");
          let chapterDom = this.getParentWithClass(domItem, "chapter");
          let page, chapterNum;
          if (pageDom) page = pageDom.getAttribute("page");
          if (chapterDom) chapterNum = chapterDom.getAttribute("num");
          // å‘上匹配主题色
          const themeColor =
            page && pageThemeColor && pageThemeColor[page]
              ? pageThemeColor[page]
              : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
              ? chapterThemeColor[chapterNum]
              : bookThemeColor;
          if (themeColor) {
            domItem.style.borderColor = themeColor;
          }
        });
      },
      getParentWithClass(element, className) {
        console.log(element, className, "element, className");
        while (element.parentElement) {
          element = element.parentElement;
          if (element.classList.contains(className)) {
            return element;
          }
        }
      },
      pageChangeCallback(entries, observer) {
        //entries:代表观察到的目标元素的集合。 observer:代表观察者对象。
        entries.forEach((entry) => {
          //entry.isIntersecting:检查当前目标元素是否与根元素相交。
          if (entry.isIntersecting) {
            const target = entry.target;
            //entry.target:获取当前目标元素
            const page = target.getAttribute("page");
            const catalogDom = this.tool.getParentNodeByClassName(
              target,
              "chapter"
            );
            const catalog = catalogDom.getAttribute("num");
            let text = null;
            if (target.querySelector("p")) {
              text = target.querySelector("p").textContent.substring(0, 50);
            }
            // è¿”回页码和章节信息
            if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange)
              this.$store.state.qiankun.pageChange({
                page: page,
                catalog: catalog,
                text,
              });
            // const sections = Array.from(document.querySelectorAll(".section"));
            //sections:获取所有具有 .section ç±»åçš„元素,并转换为数组。
            // let index = sections.findIndex((section) => section === target) + 1;
            //index:查找当前目标元素在 sections æ•°ç»„中的索引,并加 1,用于确定当前页码。
          }
        });
      },
      loadPageCallback(entries, observer) {
        entries.forEach(async (entry) => {
          if (entry.isIntersecting) {
            const target = entry.target;
            const page = target.getAttribute("page");
            if (this.loadPageList.indexOf(Number(page)) == -1) {
              const catalogDom = this.tool.getParentNodeByClassName(
                target,
                "chapter"
              );
              // æ·»åŠ é¡µç 
              this.loadPageList.push(Number(page));
              const catalog = catalogDom.getAttribute("num");
              // if (!this.questionDataMap[page]) {
              //   if (testData && testData[catalog]) {
              //     if (testData[catalog][page]) {
              //       if (Array.isArray(testData[catalog][page])) {
              //         this.questionDataMap[page] = await getQuestionList(
              //           page,
              //           testData[catalog][page],
              //           this.config.activeBook
              //         );
              //       } else {
              //         const obj = {};
              //         for (let key in testData[catalog][page]) {
              //           obj[key] = await getQuestionList(
              //             [],
              //             testData[catalog][page][key],
              //             this.config.activeBook
              //           );
              //         }
              //         this.questionDataMap[page] = obj;
              //       }
              //       console.log("题目", this.questionDataMap);
              //     }
              //   }
              // }
              // æ¸²æŸ“这一页的标记
              for (const key in this.renderSignMap) {
                if (this.renderSignMap[key][page]) {
                  this.renderSignMap[key][page].forEach((item) => {
                    this.renderSign(key, item);
                  });
                }
              }
              // å¤„理高亮
              if (this.highlightData) {
                // é«˜äº®è¡Œ
                setTimeout(() => {
                  // èŽ·å–é¡µé¢æ‰€æœ‰text节点
                  const pageTextList = document.createTreeWalker(target, NodeFilter.SHOW_TEXT);
                  // åŒ¹é…å…³é”®å­—
                  const allPageTextNodes = [];
                  let currentNode = pageTextList.nextNode();
                  while (currentNode) {
                    allPageTextNodes.push(currentNode);
                    currentNode = pageTextList.nextNode();
                  }
                  for (let i = 0; i < allPageTextNodes.length; i++) {
                    const textDom = allPageTextNodes[i];
                    let txtIndex = textDom.textContent.indexOf(
                      this.highlightData.txt
                    );
                    if (txtIndex > -1) {
                      textDom.parentNode.style.transition =
                        "background-color 0.8s";
                      textDom.parentNode.scrollIntoView();
                      textDom.parentNode.style.backgroundColor = "#79bbf0";
                      setTimeout(() => {
                        textDom.parentNode.style.backgroundColor = "";
                      }, 1000);
                    }
                  }
                }, 100);
              }
              if (this.loadPageList.length > 5) {
                // è¶…过5页
                this.loadPageList.shift();
              }
            }
          }
        });
      },
      initSwiper() {
        const doms = (
          this.container ? this.container : document
        ).querySelectorAll(".swiper-img");
        for (let i = 0; i < doms.length; i++) {
          const dom = doms[i];
          new Swiper(dom, {
            loop: false, // æ— ç¼
            autoplay: {
              //自动开始
              delay: 3000, //时间间隔
              disableOnInteraction: false, //*手动操作轮播图后不会暂停*
            },
            paginationClickable: true,
            slidesPerView: 1, // ä¸€ç»„三个
            spaceBetween: 30, // é—´éš”
            // å¦‚果需要前进后退按钮
            navigation: {
              nextEl: (this.container ? this.container : document).querySelector(
                ".swiper-button-next"
              ),
              prevEl: (this.container ? this.container : document).querySelector(
                ".swiper-button-prev"
              ),
            },
            // çª—口变化,重新init,针对F11全屏和放大缩小,必须加
            observer: true,
            observeParents: true,
            // // å¦‚果需要分页器
            // pagination: {
            //   el: (this.container ? this.container : document).querySelector(
            //     ".swiper-pagination"
            //   ),
            //   clickable: true // åˆ†é¡µå™¨å¯ä»¥ç‚¹å‡»
            // }
          });
        }
        const pptDoms = (
          this.container ? this.container : document
        ).querySelectorAll(".swiper_ppt");
        for (let i = 0; i < pptDoms.length; i++) {
          const dom = pptDoms[i];
          new Swiper(dom, {
            loop: false, // æ— ç¼
            autoplay: false,
            paginationClickable: true,
            slidesPerView: 1, // ä¸€ç»„三个
            spaceBetween: 30, // é—´éš”
            // å¦‚果需要前进后退按钮
            navigation: {
              nextEl: (this.container ? this.container : document).querySelector(
                ".swiper-button-next"
              ),
              prevEl: (this.container ? this.container : document).querySelector(
                ".swiper-button-prev"
              ),
            },
            // çª—口变化,重新init,针对F11全屏和放大缩小,必须加
            observer: true,
            observeParents: true,
            on: {
              init: (value) => {
                let currentPage = value.activeIndex + 1; // èŽ·å–å½“å‰é¡µï¼ˆä»Ž1开始计数)
                let totalPages = value.slides.length; // èŽ·å–æ€»é¡µæ•°
                var paginationInfoEl = dom.querySelector(".pageBox");
                if (paginationInfoEl)
                  paginationInfoEl.textContent = currentPage + "/" + totalPages;
              },
              slideChange: (value) => {
                let currentPage = value.activeIndex + 1; // èŽ·å–å½“å‰é¡µï¼ˆä»Ž1开始计数)
                let totalPages = value.slides.length; // èŽ·å–æ€»é¡µæ•°
                var paginationInfoEl = dom.querySelector(".pageBox");
                if (paginationInfoEl)
                  paginationInfoEl.textContent = currentPage + "/" + totalPages;
              },
            },
          });
        }
      },
      initViewer() {
        const doms = (
          this.container ? this.container : document
        ).querySelectorAll(".openImgBox");
        for (let i = 0; i < doms.length; i++) {
          const dom = doms[i];
          new Viewer(dom, {
            container: this.container
              ? this.container.querySelector("#app")
              : "body",
            navbar: true, // æ˜¾ç¤ºå¯¼èˆªæ 
            toolbar: true, // æ˜¾ç¤ºå·¥å…·æ 
            title: true, // æ˜¾ç¤ºæ ‡é¢˜
          });
        }
      },
      // æ ¹æ®å…³é”®å­—全文检索
      searchTextByPage(keyword) {
        const searchResult = [];
        let catalogIndex = 0;
        // æ‰€æœ‰ç« èŠ‚ç»„ä»¶ï¼ˆæ¯æœ¬ä¹¦åˆ¶ä½œæ—¶å•ç‹¬é…ç½®ï¼‰
        const pageData = {
          pageHeader,
          chapterOne,
          chapterTwo,
          chapterThree,
          chapterFour,
          chapterFive,
          chapterSix,
        };
        // éåŽ†æ‰€æœ‰ç« èŠ‚æ–‡ä»¶
        for (const key in pageData) {
          catalogIndex++;
          let pageComponent, pageExample;
          // å…ˆæ¸²æŸ“一次当前章节文件(这时页面的内容为空),获取页码信息
          pageComponent = Vue.extend(pageData[key]);
          pageExample = new pageComponent({
            propsData: {
              showPageList: [],
              questionData: {},
              isSearch: true
            },
          });
          pageExample.$mount(
            (this.container ? this.container : document).querySelector(
              "#searchContent"
            )
          );
          // èŽ·å–é¡µç 
          const pageDom = (this.container ? this.container : document)
            .querySelector("#searchDomBox")
            .querySelectorAll(".page-box");
          const pages = [];
          for (let i = 0; i < pageDom.length; i++) {
            const pageDomItem = pageDom[i];
            pages.push(Number(pageDomItem.getAttribute("page")));
          }
          // èŽ·å–é¡µé¢ç»“æŸï¼Œå¸è½½é”€æ¯
          pageExample.$destroy();
          (this.container ? this.container : document).querySelector(
            "#searchDomBox"
          ).innerHTML = '<div id="searchContent"></div>';
          // éåŽ†é¡µç 
          if (pages.length) {
            for (let i = 0; i < pages.length; i++) {
              const pageNum = pages[i];
              // åŠ¨æ€æ¸²æŸ“å¯¹åº”ç« èŠ‚çš„é¡µç 
              pageComponent = Vue.extend(pageData[key]);
              pageExample = new pageComponent({
                propsData: {
                  showPageList: [pageNum],
                  questionData: {},
                  isSearch: true
                },
              });
              pageExample.$mount(
                (this.container ? this.container : document).querySelector(
                  "#searchContent"
                )
              );
              // èŽ·å–å¯¹åº”é¡µé¢dom
              const thisPageDom = (this.container ? this.container : document)
                .querySelector("#searchDomBox")
                .querySelector(`[page="${pageNum}"]`);
              if (thisPageDom) {
                // èŽ·å–é¡µé¢æ‰€æœ‰text节点
                const pageTextList = document.createTreeWalker(thisPageDom, NodeFilter.SHOW_TEXT);
                // åŒ¹é…å…³é”®å­—
                const allPageTextNodes = [];
                let currentNode = pageTextList.nextNode();
                while (currentNode) {
                  allPageTextNodes.push(currentNode);
                  currentNode = pageTextList.nextNode();
                }
                for (let i = 0; i < allPageTextNodes.length; i++) {
                  const textDom = allPageTextNodes[i];
                  let txtIndex = textDom.textContent.indexOf(keyword);
                  if (txtIndex > -1) {
                    // è®°å½•关键字所在页码、章节以及匹配到的段落
                    searchResult.push({
                      page: pageNum,
                      catalog: catalogIndex,
                      txt: textDom.textContent,
                      txtIndex: txtIndex,
                    });
                  }
                }
                // ç»“束,卸载销毁
                pageExample.$destroy();
                (this.container ? this.container : document).querySelector(
                  "#searchDomBox"
                ).innerHTML = '<div id="searchContent"></div>';
              }
            }
          }
        }
        // è¾“出搜索结果
        console.log(searchResult);
        return searchResult;
      },
      // æ ¹æ®æ£€ç´¢ç»“果跳转对应位置并高亮
      searchItemLocation(data) {
        // è®°å½•高亮信息
        this.highlightData = data;
        // è·³è½¬
        this.gotoPage(data.catalog, data.page, () => {});
      },
    },
    components: {
      pageHeader,
      chapterOne,
      chapterTwo,
      chapterThree,
      chapterFour,
    },
  };
  </script>
  <style lang="less" scoped>
  .page-main {
    width: 100%;
    height: 100%;
    overflow: auto;
    .page-content {
      max-width: 816px;
      min-width: 375px;
      margin: 0 auto;
      padding-bottom: 100px;
    }
  }
  </style>
src/books/artAndDrama/view/index.vue
New file
@@ -0,0 +1,76 @@
<template>
    <div class="ans-drama" @mouseup="handleMouseUp">
      <pageContent></pageContent>
    </div>
  </template>
  <script>
  import pageContent from "./components/index.vue";
  export default {
    name:"ansAndDrama",
    components: {
      pageContent,
    },
    data() {
      return {};
    },
    mounted() {},
    methods: {
      getParentWithClass(element, className) {
        while (element.parentElement) {
          element = element.parentElement;
          if (element.classList.contains(className)) {
            return element;
          }
        }
      },
      handleMouseUp(e) {
        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,
              });
            }
          }
        } else {
          if (this.$store.state.qiankun.windowSelection) {
            this.$store.state.qiankun.windowSelection({
              chapterNum: "",
              txt: "",
              page: "",
              x: e.x,
              y: e.y,
            });
          }
        }
      },
    },
  };
  </script>
  <style lang="less">
  @import "../assets/main.less";
  </style>