<template>
  <div class="page" :class="{'mobile':_isMobile,'pc':!_isMobile}">
    <div class="main_content" id="main">
      <img class="page-bg" src="../assets/images/gesture/massage-entry-fullbg.png" alt srcset />
      <div class="massage-complete-modal noBaby">
        <div class="title">
          <!-- <image src="{{images.title}}"></image> -->
          <img class="icon" src="../assets/images/gesture/massage-complete-title-icon.png" />
          {{$t('strings.completeText')}}
        </div>
        <!-- <div class="record" v-if="finalBabyStatus != 3 && finalBabyStatus != -1">
          <div>{{$t('strings.completeText2')}}: {{time}}s</div>
        </div>-->
        <div class="bottom">
          <light-button @click="goHome" :text="$t('strings.completeButtonText')"></light-button>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import { calcAdapt, isMobile } from "../common/util";
import lightButton from "../components/lightButton.vue";
import DevicePixelRatio from "../utils/evicePixelRatio.js";

let calcs = calcAdapt();
let scale;
const calcCoord = function () {
  let width = 0;
  let height = 0;
  if (!isMobile()) {
    width = 375;
    height =
      document.body.clientHeight > 667 ? document.body.clientHeight : 667;
  } else {
    width = document.body.clientWidth;
    height = document.body.clientHeight;
  }
  if (height === 0) {
    height = window.innerHeight;
    if (!isMobile()) {
      height = window.innerHeight > 667 ? window.innerHeight : 667;
    }
  }
  scale = height / width;
  let k = +scale.toFixed(2);
  if (k >= 2.16) {
    k = 2.16;
  } else if (k <= 1.78) {
    k = 1.78;
  }
  return calcs.calcCoord.call(null, ...arguments, k);
};
var handleTouchmove = function (e) {
  e.preventDefault(); //阻止默认的处理方式(阻止下拉滑动的效果)
};
export default {
  data() {
    return {
      nikeName: "William",
      finalBabyStatus: 0,
      lying: 0,
      time: 0,
      total: 0,
      modalCalc: {
        top: ""
      },
      _isMobile: false
    };
  },
  components: {
    lightButton
  },
  methods: {
    goHome() {
      this.$router.push({
        path: "/"
      });
    },
    /**
     * 添加触摸监听
     */
    addTouchmoveListener() {
      document.body.addEventListener("touchmove", handleTouchmove, {
        passive: false
      }); //passive 参数不能省略，用来兼容ios和android
    },
    /**
     * 移除触摸监听
     */
    removeTouchmoveListener() {
      document.body.removeEventListener("touchmove", handleTouchmove, {
        passive: false
      });
    }
  },
  created() {
    this.$i18n.locale = "en";
    let lang = localStorage.getItem("lang");
    if (lang) {
      this.$i18n.locale = lang;
    }
    this._isMobile = isMobile();
    if (
      this._isMobile &&
      document.body.clientHeight >= document.body.clientWidth
    ) {
      // 竖屏
      this.addTouchmoveListener();
    }
    let lying = this.$route.query.lying;
    let time = this.$route.query.totalDuration;
    let total = this.$route.query.totalDuration;
    this.lying = lying;
    this.time = time || 0;
    this.total = total || 0;
  },
  mounted() {
    this.$nextTick(() => {
      new DevicePixelRatio().init();
    });
    window.onresize = () => {
      return (() => {
        // 判断横竖屏
        let width = document.documentElement.clientWidth;
        let height = document.documentElement.clientHeight;
        if (width > height) {
          this.removeTouchmoveListener();
        } else {
          this.addTouchmoveListener();
        }
      })();
    };
  },
  unmounted() {
    document.body.removeEventListener("touchmove", handleTouchmove, {
      passive: false
    });
  }
};
</script>

<style lang="scss" scoped>
.page {
  background: #000;
  display: flex;
  justify-content: center;
  height: 100%;
}
.pc {
  height: calc(var(--vh, 1vh) * 100);
  align-items: center;
  .main_content {
    width: 375px;
    height: 667px;
    background: #ffffff;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    .page-bg {
      position: absolute;
      left: 0;
      top: 0;
      width: 375px;
      z-index: 0;
    }
  }
  .massage-complete-modal {
    box-sizing: border-box;
    width: 330px;
    min-height: 210px;
    padding: 40px 0 62.5px;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 7px 7px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    &.noBaby {
      height: 210px;
      .bottom {
        margin-top: 50px;
      }
    }
    .nickname {
      font-size: 23px;
      color: #fb7c76;
      font-family: "Gotham-Book";
      text-shadow: 1px 1px 2px #ffffff;
      span {
        font-size: 30px;
      }
    }
    .title {
      margin-top: 20.5px;
      color: #fb7c76;
      font-size: 23px;
      line-height: 26.5012px;
      font-weight: bolder;
      .icon {
        width: 34.5px;
        height: 22.5px;
      }
    }
    .subTitle {
      width: 100%;
      text-align: center;
      color: #fb7c76;
      font-size: 13px;
      margin-top: 10px;
      font-weight: bolder;
      &.underline {
        text-decoration: underline;
      }
    }
    .record {
      margin-top: 50px;
      margin-bottom: 50px;
      width: 280px;
      height: 48px;
      line-height: 48px;
      border-radius: 24px 24px;
      font-size: 17.3362px;
      color: #999999;
      background-color: #f5f5f5;
      text-align: center;
      text-shadow: 1px 1px 2px #ffffff;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
    }
  }
}

.mobile {
  .main_content {
    width: 10rem;
    height: calc(var(--vh, 1vh) * 100);
    background: #ffffff;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    .page-bg {
      position: absolute;
      left: 0;
      top: 0;
      width: 10rem;
      z-index: 0;
    }
  }
  .massage-complete-modal {
    box-sizing: border-box;
    width: 8.8rem;
    min-height: 5.6rem;
    padding: 1.0667rem 0 1.6667rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 0.1867rem 0.1867rem;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    &.noBaby {
      height: 5.6rem;
      .bottom {
        margin-top: 1.3333rem;
      }
    }
    .nickname {
      font-size: 0.6133rem;
      color: #fb7c76;
      font-family: "Gotham-Book";
      text-shadow: 0.0267rem 0.0267rem 0.0533rem #ffffff;
      span {
        font-size: 0.8rem;
      }
    }
    .title {
      margin-top: 0.5467rem;
      color: #fb7c76;
      font-size: 0.6133rem;
      line-height: 0.7067rem;
      font-weight: bolder;
      .icon {
        width: 0.92rem;
        height: 0.6rem;
      }
    }
    .subTitle {
      width: 100%;
      text-align: center;
      color: #fb7c76;
      font-size: 0.3467rem;
      margin-top: 0.2667rem;
      font-weight: bolder;
      &.underline {
        text-decoration: underline;
      }
    }
    .record {
      margin-top: 1.3333rem;
      margin-bottom: 1.3333rem;
      width: 7.4533rem;
      height: 1.28rem;
      line-height: 1.28rem;
      border-radius: 0.64rem 0.64rem;
      font-size: 0.4623rem;
      color: #999999;
      background-color: #f5f5f5;
      text-align: center;
      text-shadow: 0.0267rem 0.0267rem 0.0533rem #ffffff;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center;
    }
  }
}
// 横屏
@media only screen and (orientation: landscape) {
  .page {
    &.mobile {
      height: 812px;
      .main_content {
        height: 100%;
      }
    }
  }
}
</style>