<template>
  <div class="outhome">
    <Nav
      v-show="activeIndex !== 4"
      :active-index="activeIndex"
      @toViewSwiper="toViewSwiper"
      @showLandBox="showLandBox"
    ></Nav>
    <div ref="mySwiper" class="swiper-container mySwiper swiper-no-swiping">
      <div class="swiper-wrapper" style="height: 100vh;">
        <div class="swiper-slide home">
          <video
            preload="auto"
            autoplay="autoplay"
            muted="muted"
            loop="loop"
            class="title_bg_video"
          >
            <source
              src="https://cdn.star-linear.com/resource/dream/video_new.mp4"
            />
          </video>
          <div
            :data-background="require('@/assets/partTwo/btn.png')"
            class="playBtn swiper-lazy"
            @click="showVideoBox = true"
          ></div>
          <img
            class="ageTip swiper-lazy"
            :data-src="require('@/assets/partOne/age.png')"
            alt=""
            @click="openArgument('ageTips')"
          />
          <ul class="concatList">
            <li class="concat-item" @mouseenter="qq_number = false">
              <a
                class="sina"
                href="https://weibo.com/p/1006067514307100/"
                target="_blank"
                rel="noopener noreferrer"
              ></a>
            </li>
            <li class="concat-item" @mouseenter="qq_number = false">
              <div class="wechat"></div>
            </li>
            <li class="concat-item qq_item">
              <div class="qq" @mouseenter="qq_number = true"></div>
              <div
                v-if="qq_number"
                :style="{
                  backgroundImage:
                    'url(' + require('@/assets/partOne/qq_bg.png') + ')',
                }"
                class="qq_number"
                @mouseleave="qq_number = false"
              >
                <a
                  href="https://jq.qq.com/?_wv=1027&k=BgdhvKj5"
                  target="_blank"
                  rel="noopener noreferrer"
                  >官方⑤群：819827942</a
                >
              </div>
            </li>
            <li class="concat-item" @mouseenter="qq_number = false">
              <a
                class="blibli"
                href="https://space.bilibili.com/1988649931/dynamic"
                target="_blank"
                rel="noopener noreferrer"
              ></a>
            </li>
          </ul>

          <div class="orderBox">
            <div class="order_btn" @click="showOrder = true"></div>
          </div>
        </div>

        <div :data-background="bg_two" class="swiper-slide trailer swiper-lazy">
          <div :data-background="gif" class="news swiper-lazy">
            <NewList :news="newsList" :data="dataList"></NewList>
          </div>
        </div>

        <div :data-background="png" class="swiper-slide world swiper-lazy">
          <img :data-src="bg1" class="world_bg swiper-lazy" alt="" />
          <div
            :data-background="require('@/assets/partThree/border.png')"
            class="story swiper-lazy"
          >
            <img
              :data-src="require('@/assets/partThree/story.png')"
              class="story_bg swiper-lazy"
              src=""
              alt=""
            />
            <div class="content">
              <div :class="activeIndex === 2 ? 'feedInOne' : ''">
                <p>
                  曾经容纳世间无穷乐趣的梦乐园，
                </p>
                <p>
                  因为真理之书的失窃散落而迅速衰败。
                </p>
              </div>
              <p :class="activeIndex === 2 ? 'feedInTwo' : ''">
                前任乐园管理员用真理之书的残页，召唤出了——
              </p>
              <div :class="activeIndex === 2 ? 'feedInThree' : ''">
                <p>“从今天起，这座乐园就属于你了！”</p>
                <p>“？！”</p>
                <p>“赶紧想办法重建乐园！”</p>
                <p>“……”</p>
              </div>
              <div :class="activeIndex === 2 ? 'feedInFour' : ''">
                <p>「虽然突兀，虽然荒诞，但也不妨试着感受一下，</p>
                <p>也许您会在将来体验到无与伦比的乐趣。</p>
                <p>这里是为疲劳之人准备的软椅，是为伤心之人建造的乐园。</p>
              </div>
              <div :class="activeIndex === 2 ? 'feedInFive' : ''">
                <p>请睁开双眼，今夜的烟火只为特别的您所准备。</p>
                <p>就此离开，也许会有遗憾……」</p>
                <p>欢迎来到梦乐园，梦幻与魔法永不落幕！</p>
              </div>
            </div>
          </div>
        </div>

        <!-- <div class="swiper-slide characters">
          <div :data-background="gif" class="gif swiper-lazy"></div>
          <div class="content">
            <div :data-background="team_bg" class="team_bg swiper-lazy"></div>
            <transition name="fade">
              <div
                v-if="changeActive"
                :style="{ backgroundImage: 'url(' + characterArr[2].bg + ')' }"
                class="bg"
              ></div>
            </transition>
            <div :data-background="swiper1" class="swiper swiper-lazy">
              <div class="desBox">
                <div class="preview">
                  CHARACTER - PREVIEW -
                </div>
                <div class="character_name">
                  {{ characterArr[2].name }}
                </div>
                <div class="cv_name">
                  <div
                    v-if="characterArr[2].audio"
                    class="changeBtn"
                    @click="changeLan"
                  >
                    <div v-show="lan === 'jp'" class="lan">日</div>
                    <div
                      v-lazy:background-image="
                        require('../assets/mobile/changeBtn.png')
                      "
                      class="btn"
                    ></div>
                    <div v-show="lan === 'cn'" class="lan">中</div>
                  </div>
                  <a v-if="!characterArr[2].audio" class="text">敬请期待</a>
                  <a v-if="characterArr[2].audio" class="text"
                    >CV:{{
                      lan === "jp"
                        ? characterArr[2].cv_name
                        : characterArr[2].cv_name_cn
                    }}</a
                  >
                  <div v-if="characterArr[2].audio" class="voice">
                    <img
                      :src="
                        play
                          ? require('../assets/partFour/vioce.gif')
                          : require('../assets/partFour/vioce.png')
                      "
                      alt=""
                      @click="togglePlay"
                    />
                  </div>
                </div>
                <div class="dialogue">
                  <p
                    v-for="item in characterArr[2].dialogue"
                    :key="item"
                    class="text"
                  >
                    {{ item }}
                  </p>
                </div>
                <img
                  v-if="activeIndex >= 2"
                  :src="characterArr[2].team_bg"
                  alt=""
                  class="teamPic"
                />
                <img
                  v-if="activeIndex >= 2"
                  :src="characterArr[2].name_bg"
                  alt=""
                  class="namePic"
                />
              </div>
              <div
                :data-background="require('@/assets/partFour/prev.png')"
                class="prev swiper-lazy"
                @click="prev"
              ></div>
              <div
                :data-background="require('@/assets/partFour/next.png')"
                class="next swiper-lazy"
                @click="next"
              ></div>
              <ul class="characterList">
                <li
                  v-for="(item, index) in activeArr"
                  :key="index"
                  class="character-item"
                >
                  <img
                    v-if="index == 2 && activeIndex >= 2"
                    :src="require('@/assets/partFour/checked.png')"
                    class="active"
                    alt=""
                    srcset=""
                  />
                  <img
                    v-if="activeIndex >= 1"
                    :src="item.miniPic"
                    class="minipic"
                    alt=""
                    @click="changeCharacter(index)"
                  />
                </li>
              </ul>
            </div>
          </div>
        </div> -->

        <div class="swiper-slide community slide swiper-lazy">
          <div id="swiper-container2" class="swiper-container">
            <div class="swiper-wrapper">
              <div class="swiper-slide contentBox">
                <div :data-background="gif" class="gif swiper-lazy"></div>
                <div class="content">
                  <div
                    :data-background="team_bg"
                    class="team_bg swiper-lazy"
                  ></div>
                  <transition name="fade">
                    <div
                      v-if="changeActive"
                      :style="{
                        backgroundImage: 'url(' + characterArr[2].bg + ')',
                      }"
                      class="bg"
                    ></div>
                  </transition>
                  <div :data-background="swiper1" class="swiper swiper-lazy">
                    <div class="desBox">
                      <div class="preview">
                        CHARACTER - PREVIEW -
                      </div>
                      <div class="character_name">
                        {{ characterArr[2].name }}
                      </div>
                      <div class="cv_name">
                        <div
                          v-if="characterArr[2].audio"
                          class="changeBtn"
                          @click="changeLan"
                        >
                          <div v-show="lan === 'jp'" class="lan">日</div>
                          <div
                            v-lazy:background-image="
                              require('../assets/mobile/changeBtn.png')
                            "
                            class="btn"
                          ></div>
                          <div v-show="lan === 'cn'" class="lan">中</div>
                        </div>
                        <a v-if="!characterArr[2].audio" class="text"
                          >敬请期待</a
                        >
                        <a v-if="characterArr[2].audio" class="text"
                          >CV:{{
                            lan === "jp"
                              ? characterArr[2].cv_name
                              : characterArr[2].cv_name_cn
                          }}</a
                        >
                        <div v-if="characterArr[2].audio" class="voice">
                          <img
                            :src="
                              play
                                ? require('../assets/partFour/vioce.gif')
                                : require('../assets/partFour/vioce.png')
                            "
                            alt=""
                            @click="togglePlay"
                          />
                        </div>
                      </div>
                      <div class="dialogue">
                        <p
                          v-for="item in characterArr[2].dialogue"
                          :key="item"
                          class="text"
                        >
                          {{ item }}
                        </p>
                      </div>
                      <img
                        v-if="activeIndex >= 2"
                        :src="characterArr[2].team_bg"
                        alt=""
                        class="teamPic"
                      />
                      <img
                        v-if="activeIndex >= 2"
                        :src="characterArr[2].name_bg"
                        alt=""
                        class="namePic"
                      />
                    </div>
                    <div
                      :data-background="require('@/assets/partFour/prev.png')"
                      class="prev swiper-lazy"
                      @click="prev"
                    ></div>
                    <div
                      :data-background="require('@/assets/partFour/next.png')"
                      class="next swiper-lazy"
                      @click="next"
                    ></div>
                    <ul class="characterList">
                      <li
                        v-for="(item, index) in activeArr"
                        :key="index"
                        class="character-item"
                      >
                        <img
                          v-if="index == 2 && activeIndex >= 2"
                          :src="require('@/assets/partFour/checked.png')"
                          class="active"
                          alt=""
                          srcset=""
                        />
                        <img
                          v-if="activeIndex >= 1"
                          :src="item.miniPic"
                          class="minipic"
                          alt=""
                          @click="changeCharacter(index)"
                        />
                      </li>
                    </ul>
                  </div>
                </div>

                <div class="footerBox">
                  <img
                    :data-src="require('@/assets/footer/starlinear.png')"
                    class="starLine_logo swiper-lazy"
                    alt=""
                  />
                  <img
                    :data-src="require('@/assets/footer/lunaring_logo.png')"
                    class="lunaring_logo swiper-lazy"
                    alt=""
                  />
                  <img
                    :data-src="require('@/assets/footer/fearless.png')"
                    class="fearless_logo swiper-lazy"
                    alt=""
                  />
                  <nuxt-link
                    class="listItem"
                    :to="{ name: 'terms' }"
                    target="_blank"
                  >
                    <span>《用戶協議》及《用戶隱私條例》 </span>
                  </nuxt-link>
                  <!-- <img
                    :data-src="require('@/assets/footer/fearless.png')"
                    class="fearless_logo swiper-lazy"
                    alt=""
                  /> -->
                  <p class="argularTxt small mt">
                    © STARLINEAR(HK) LTD.
                  </p>
                  <p class="argularTxt small">
                    © LUNARING CO., LTD.
                  </p>
                </div>
              </div>
            </div>
            <div class="swiper-scrollbar">
              <div class="swiper-scrollbar-drag"></div>
            </div>
            <span
              class="swiper-notification"
              aria-live="assertive"
              aria-atomic="true"
            ></span>
          </div>
        </div>
        <audio
          ref="myAudio"
          controls="controls"
          :src="lan === 'cn' ? characterArr[2].audio : characterArr[2].audio_jp"
        ></audio>
      </div>
    </div>
    <div v-show="activeIndex !== 4" class="swiper-button-next swiper_btn"></div>
    <Order v-if="showOrder" @closeOrder="closeOrder"></Order>
    <Land v-if="showLand" @closeLand="closeLand"></Land>
    <Contact v-if="showContact" @closeContact="closeContact"></Contact>
    <!-- <Argument
      v-if="showArgument"
      :argument-title="argumentTitle"
      @closeArgument="closeArgument"
    ></Argument> -->
    <VideoBox v-if="showVideoBox" @closeViedoBox="closeViedoBox"></VideoBox>
    <HomeLoad v-if="showloading" :loading="loading" :type="'pc'"></HomeLoad>
  </div>
</template>

<script>
import Swiper from "swiper";
import { getIp, getData } from "@/api/data.js";

export default {
  components: {
    Nav: () => import("../components/nav.vue"),
    Order: () => import("../components/order.vue"),
    Land: () => import("../components/land.vue"),
    Contact: () => import("../components/contact.vue"),
    // Argument: () => import("../components/argument.vue"),
    VideoBox: () => import("../components/VideoBox.vue"),
    HomeLoad: () => import("../components/Home_load.vue"),
    NewList: () => import("../components/newsList.vue"),
  },
  async asyncData({ req, store, route }) {
    const [d1, d2] = await Promise.all([getIp().then(), getData().then()]);
    const newsList = {
      last: d2.data.news,
      notice: [],
      activity: [],
      trends: [],
    };
    // console.log(d2.data);

    store.commit("storageData/addHeaders", d1.data.ip);
    d2.data.news.forEach((element) => {
      // element.time = element.time.substring(0, 10);
      if (element.types === 1) {
        newsList.notice.push(element);
      }
      if (element.types === 2) {
        newsList.activity.push(element);
      }
      if (element.types === 3) {
        newsList.trends.push(element);
      }
    });
    return { d1, dataList: d2.data, newsList };
    // return d1;
  },
  data() {
    return {
      play: false,
      mySwiper: "",
      activeIndex: 0,
      active_character: 2,
      png: "https://cdn.star-linear.com/resource/dream/motianlun.png",
      bg_two: require("@/assets/partTwo/bg_two.png"),
      bg_two_light: "../assets/partTwo/bg_two_light.png",
      gif: "https://cdn.star-linear.com/resource/dream/bg.gif",
      bg1: "https://cdn.star-linear.com/resource/dream/bg1.png",
      swiper1: "https://cdn.star-linear.com/resource/dream/swiper1.png",
      team_bg: "https://cdn.star-linear.com/resource/dream/team_bg.png",
      character_name: "",
      characterArr: [
        {
          name: "贝汀那",
          cv_name: "高桥广树",
          cv_name_cn: "梁达伟",
          team_bg: require("@/assets/partFour/demian_team.png"),
          name_bg: require("@/assets/partFour/bethina_name.png"),
          miniPic: require("@/assets/partFour/bethina.png"),
          bg: "https://cdn.star-linear.com/resource/dream/bethina_bg.jpg",
          dialogue: ["拂晓骑兵团成员之一，", "思维有些跳脱，让人捉摸不透。"],
          audio:
            "https://cdn.star-linear.com/voice/cv/Bethina_CN_202272517489.mp3",
          audio_jp:
            "https://cdn.star-linear.com/voice/cv/Bethina_JP_2022725174810.mp3",
        },
        {
          name: "奇琪蒂",
          cv_name: "下野纮",
          team_bg: require("@/assets/partFour/demian_team.png"),
          name_bg: require("@/assets/partFour/kikidi_name.png"),
          miniPic: require("@/assets/partFour/kikidi.png"),
          bg: "https://cdn.star-linear.com/resource/dream/kikidi_bg.jpg",
          dialogue: ["神秘的少年。", "看似友好的笑容下藏着什么呢？"],
          // audio: "https://cdn.star-linear.com/resource/kikidi.wav",
          audio: "",
        },
        {
          name: "德米安",
          cv_name: "日野聪",
          cv_name_cn: "杨超然",
          team_bg: require("@/assets/partFour/demian_team.png"),
          name_bg: require("@/assets/partFour/demian_name.png"),
          miniPic: require("@/assets/partFour/demian.png"),
          bg: "https://cdn.star-linear.com/resource/dream/demian_bg.jpg",
          dialogue: ["拂晓骑兵团的团长，", "同时也是洛维斯的王子。"],
          audio:
            "https://cdn.star-linear.com/voice/cv/demian_CN_2022725174811.mp3",
          audio_jp: "https://cdn.star-linear.com/voice/cv/demian_JP.mp3",
        },
        {
          name: "伊斯雷尔",
          cv_name: "佐藤拓也",
          team_bg: require("@/assets/partFour/isreall_team.png"),
          name_bg: require("@/assets/partFour/isreall_name.png"),
          miniPic: require("@/assets/mobile/isreall.png"),
          bg: "https://cdn.star-linear.com/resource/dream/isreall_bg.jpg",
          dialogue: ["塔吉玛的掌管者。", "为人不苟言笑，做事雷厉风行。"],
          // audio: "https://cdn.star-linear.com/resource/isreall.mp3",
          audio: "",
        },
        {
          name: "瑟琉",
          cv_name: "福山润",
          team_bg: require("@/assets/partFour/selieu_team.png"),
          name_bg: require("@/assets/partFour/selieu_name.png"),
          miniPic: require("@/assets/partFour/selieu.png"),
          bg: "https://cdn.star-linear.com/resource/dream/selieu_bg.jpg",
          dialogue: ["统治精灵的王，让精灵们彻底与外界隔开。", "讨厌争端。"],
          // audio: "https://cdn.star-linear.com/resource/selieu.mp3",
          audio: "",
        },
        {
          name: "奥菲利亚",
          cv_name: "中原麻衣",
          cv_name_cn: "魏欣琛",
          team_bg: require("@/assets/partFour/demian_team.png"),
          name_bg: require("@/assets/partFour/ophelia_name.png"),
          miniPic: require("@/assets/partFour/ophelia.png"),
          bg: "https://cdn.star-linear.com/resource/dream/ophelia_bg.jpg",
          dialogue: ["拂晓骑兵团成员之一，", "骑术、剑术等均为顶尖水准。"],
          audio:
            "https://cdn.star-linear.com/voice/cv/Ophelia_CN_2022725174811.mp3",
          audio_jp: "https://cdn.star-linear.com/voice/cv/Ophelia_JP.mp3",
        },
      ],
      contactList: [
        {
          src: require("@/assets/footer/sina.png"),
          href: "https://weibo.com/p/1006067514307100/",
          id: "sina",
        },
        {
          src: require("@/assets/footer/wechat.png"),
          href: "",
          id: "wechat",
        },
        {
          src: require("@/assets/footer/QQ.png"),
          href: "",
          id: "QQ",
        },
        {
          src: require("@/assets/footer/bilibi.png"),
          href: "https://space.bilibili.com/1988649931/dynamic",
          id: "bilibi",
        },
      ],
      argumentList: [
        {
          txt: "用户协议",
          argumentTitle: "userAgreement",
        },
        {
          txt: " 平台协议",
          argumentTitle: "platformAgreement",
        },
        {
          txt: "隐私政策",
          argumentTitle: "privacyPolicy",
        },
        {
          txt: "联系我们",
          href: "",
        },
      ],
      activeArr: [],
      changeActive: true,
      showCode: false,
      showQQ: false,
      showOrder: false,
      showLand: false,
      showContact: false,
      showArgument: false,
      argumentTitle: "userAgreement",
      last_bg: "",
      qq_number: false,
      showVideoBox: false,
      audio: "",
      imgs: [
        require("@/assets/mobile/loading.png"),
        require("@/assets/mobile/loading_line.png"),
        require("@/assets/partOne/nav_img.png"),
        require("@/assets/partOne/age.png"),
        "https://cdn.star-linear.com/resource/dream/order.png",
        require("@/assets/mobile/scroll.png"),
        require("@/assets/partOne/img.png"),
        require("@/assets/partOne/focus_bg.png"),
      ],
      tiemr: "",
      count: 0,
      loading: 0,
      precent: 0,
      imglength: 0,
      intervalId: null,
      showloading: true,
      ip: "",
      headers: "",
      lan: "cn",
    };
  },
  computed: {
    swiper() {
      return this.$refs.mySwiper.$swiper;
    },
  },
  mounted() {
    if (
      navigator.userAgent.match(/Android/i) ||
      navigator.userAgent.match(/webOS/i) ||
      navigator.userAgent.match(/iPad/i) ||
      navigator.userAgent.match(/iPhone/i) ||
      navigator.userAgent.match(/iPod/i)
    ) {
      this.$router.push({ path: "/m" });
    }
    if (window.location.href.indexOf("#") > 0) {
      history.pushState({}, "", window.location.href.split("#")[0]);
    }

    const mySwiper1 = new Swiper(".mySwiper", {
      // eslint-disable-line no-unused-vars
      initialSlide: this.activeIndex,
      notNextTick: true,
      direction: "vertical",
      setWrapperSize: true,
      navigation: {
        nextEl: ".swiper-button-next",
      },
      slidesPerView: 1,
      mousewheel: true,
      mousewheelControl: true,
      resistanceRatio: 0,
      height: window.innerHeight,
      // observeParents: true,
      speed: 600,
      lazy: {
        loadPrevNext: true,
        loadPrevNextAmount: 1,
        loadOnTransitionStart: true,
      },
      on: {
        slideChange: () => {
          const swiper = this.$refs.mySwiper.swiper;
          this.activeIndex = swiper.activeIndex;
        },
        // slideChangeTransitionEnd回调函数，swiper从一个slide过渡到另一个slide结束时执行。
        // this.mousewheel.disable()禁止鼠标滚轴控制。
        // 此时是当进入页面5时，关闭container1的鼠标滚轴控制
        slideChangeTransitionEnd() {
          // if (this.activeIndex === 4) {
          //   mySwiper1.mousewheel.disable();
          // }
        },
      },
    });
    this.mySwiper = mySwiper1;
    const that = this;
    this.footerSwiper = new Swiper("#swiper-container2", {
      direction: "vertical",
      slidesPerView: "auto", // 设置slider容器能够同时显示的slides数量
      centeredSlides: false,
      freeMode: true, // 动量反弹。slides通过惯性滑动到边缘时，无法反弹。
      mousewheel: true,
      nested: true,
      speed: 600,
      breakpoints: {
        320: {
          freeMode: true,
        },
        768: {
          freeMode: true,
        },
        1280: {
          freeMode: false,
        },
      },
      // 当在container2中滚到最下方，或者最上面的时候都会开启container1的鼠标滚轴控制
      on: {
        reachEnd() {
          // 回调函数，当Swiper切换到最后一个Slide时执行(长页面滑动到底部的时候)
        },
        reachBeginning() {
          // 回调函数，Swiper切换到初始化位置时执行
        },
        slideChangeTransitionStart() {
          // if (this.activeIndex === 4) {
          that.mySwiper.mousewheel.disable();
          // }
        },
        progress(progress) {
          if (progress < 0.01) {
            setTimeout(() => {
              that.mySwiper.mousewheel.enable();
            }, 100);
          } else {
            that.mySwiper.mousewheel.disable();
          }
        },
      },
    });
    // window.addEventListener("resize", this.swiperInit);
    this.activeArr = this.characterArr.slice(0, 5);
    this.ip = this.$store.state.storageData.headers;
    this.indexData();

    if (this.$route.params.id) {
      this.activeIndex = this.$route.params.id;
      this.toViewSwiper(this.activeIndex);
    } else {
      this.activeIndex = 0;
    }

    if (JSON.stringify(this.$route.params) !== "{}") {
      this.showloading = false;
    } else {
      this.preload();
      // this.loadNumber();
    }
  },
  methods: {
    // swiperInit() {
    //   this.mySwiper.destroy();
    //   this.$nextTick(() => {
    //     const mySwiper1 = new Swiper(".mySwiper", {
    //       // eslint-disable-line no-unused-vars
    //       initialSlide: this.activeIndex,
    //       notNextTick: true,
    //       direction: "vertical",
    //       setWrapperSize: true,
    //       navigation: {
    //         nextEl: ".swiper-button-next",
    //       },
    //       slidesPerView: 1,
    //       mousewheel: true,
    //       mousewheelControl: true,
    //       resistanceRatio: 0,
    //       // autoHeight: true,
    //       height: window.innerHeight,
    //       speed: 600,
    //       lazy: {
    //         loadPrevNext: true,
    //         loadPrevNextAmount: 1,
    //         loadOnTransitionStart: true,
    //       },
    //       on: {
    //         slideChange: () => {
    //           const swiper = this.$refs.mySwiper.swiper;
    //           this.activeIndex = swiper.activeIndex;
    //         },
    //       },
    //     });
    //     this.mySwiper = mySwiper1;
    //   });
    // },
    indexData() {
      const source = this.$route.query.source;
      getData(
        {
          source,
          ip: this.ip,
        }
        // ,this.headers
      ).then((res) => {
        // this.orderSuccess = true;
        // console.log(res);
      });
    },
    toViewSwiper(activeIndex) {
      this.mySwiper.lazy.loadInSlide(activeIndex);
      this.mySwiper.slideTo(activeIndex, 600, false);
      this.activeIndex = activeIndex;
    },
    prev() {
      this.play = false;
      this.changeActive = false;
      setTimeout(() => {
        this.changeActive = true;
      }, 200);
      const prev = this.characterArr.pop(); // 删除最后一个 添加到一个位置
      this.characterArr.unshift(prev);
      this.activeArr = this.characterArr.slice(0, 5);
    },
    next() {
      this.changeActive = false;
      this.play = false;

      setTimeout(() => {
        this.changeActive = true;
      }, 200);
      const next = this.characterArr.shift(); // 删除最后一个 添加到一个位置
      this.characterArr.push(next);
      this.activeArr = this.characterArr.slice(0, 5);
    },
    changeCharacter(index) {
      this.play = false;
      this.changeActive = false;
      setTimeout(() => {
        this.changeActive = true;
      }, 200);
      if (index < 2) {
        const sum = 2 - index;
        const prev = this.characterArr.splice(-sum);
        this.characterArr = prev.concat(this.characterArr);
      } else {
        const num = index - 2;
        const next = this.characterArr.splice(0, num);
        this.characterArr = this.characterArr.concat(next);
      }
      this.activeArr = this.characterArr.slice(0, 5);
    },
    enter(id) {
      if (id === "QQ") {
        this.showQQ = true;
      } else {
        this.showCode = true;
      }
    },
    leave() {
      this.showQQ = false;
      this.showCode = false;
    },
    closeOrder() {
      this.showOrder = false;
    },
    showLandBox() {
      this.showLand = true;
    },
    closeLand() {
      this.showLand = false;
    },
    closeContact() {
      this.showContact = false;
    },
    closeArgument() {
      this.showArgument = false;
    },
    openArgument(txt) {
      this.showArgument = true;
      this.argumentTitle = txt;
    },
    closeViedoBox() {
      this.showVideoBox = false;
    },
    togglePlay() {
      const audio = this.$refs.myAudio;
      if (this.play) {
        audio.pause();
        this.play = false;
        return;
      } else {
        audio.play();
      }

      const playPromiser = audio.play();
      this.play = true;
      audio.onended = () => {
        console.log(playPromiser);
        // onended可以检测语音是否播完
        // dosometing
        this.play = false;
      };
    },
    changeLan() {
      this.lan === "cn" ? (this.lan = "jp") : (this.lan = "cn");
      if (this.play) {
        this.play = false;
        setTimeout(() => {
          this.togglePlay();
        }, 0);
      }
    },
    preload() {
      this.imglength = this.imgs.length;
      if (this.count === this.imglength) return;

      for (const img of this.imgs) {
        const image = new Image();
        image.src = img;
        if (image.complete) {
          this.count++;
          const percentNum = Math.floor((this.count / this.imglength) * 100);
          this.percent = percentNum;
          // this.imgs.this.preload();
          // console.log("complete", this.percent);
          continue;
        }
        image.onload = () => {
          this.count++;
          // 计算图片加载的百分数，绑定到percent变量
          const percentNum = Math.floor((this.count / this.imglength) * 100);
          this.percent = percentNum;
        };
      }
      this.loadNumber();
    },
    loadNumber() {
      this.intervalId = setInterval(() => {
        if (this.percent > this.loading || !this.percent) {
          this.loading += 1;
        } else {
          window.clearInterval(this.intervalId);
          this.intervalId = null;
          setTimeout(() => {
            this.showloading = false;
          }, 20);
        }
      }, 10);
    },
  },
};
</script>

<style lang="scss">
@import "@/assets/scss/index.scss";
</style>
