|
@@ -1,11 +1,33 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div class="home">
|
|
<div class="home">
|
|
|
|
|
+
|
|
|
|
|
+ <div
|
|
|
|
|
+ v-if="showAudioUnlockTip"
|
|
|
|
|
+ class="audioUnlockTip"
|
|
|
|
|
+ @click.stop="unlockAudio"
|
|
|
|
|
+ @touchstart.stop.passive="unlockAudio"
|
|
|
|
|
+ >
|
|
|
|
|
+ 轻触开启声音
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
<div class="main">
|
|
<div class="main">
|
|
|
- <div class="logo"><img :src="require('@/assets/images/logo.png')" alt="" draggable="false" /></div>
|
|
|
|
|
|
|
|
|
|
<!-- <div class="myTitle">{{ myTitle }}</div> -->
|
|
<!-- <div class="myTitle">{{ myTitle }}</div> -->
|
|
|
|
|
+ <audio
|
|
|
|
|
+ id="myAudio"
|
|
|
|
|
+ ref="bgAudio"
|
|
|
|
|
+ v-if="audio"
|
|
|
|
|
+ v-show="isOneAduio"
|
|
|
|
|
+ :src="urlToFitFu(audio)"
|
|
|
|
|
+ :muted="needMutedAutoplay"
|
|
|
|
|
+ controls
|
|
|
|
|
+ autoplay
|
|
|
|
|
+ playsinline
|
|
|
|
|
+ webkit-playsinline
|
|
|
|
|
+ x5-playsinline
|
|
|
|
|
+ ></audio>
|
|
|
|
|
+
|
|
|
<div class="mainCon" v-show="!oneTxt">
|
|
<div class="mainCon" v-show="!oneTxt">
|
|
|
- <audio id="myAudio" v-if="audio" v-show="isOneAduio" :src="urlToFitFu(audio)" controls></audio>
|
|
|
|
|
<!-- 如果只有一个模块 -->
|
|
<!-- 如果只有一个模块 -->
|
|
|
<!-- <div class="oneTabNum" v-if="
|
|
<!-- <div class="oneTabNum" v-if="
|
|
|
flooTab.length === 1 &&
|
|
flooTab.length === 1 &&
|
|
@@ -20,7 +42,8 @@
|
|
|
|
|
|
|
|
<div class="contenBoxMain swiper-container">
|
|
<div class="contenBoxMain swiper-container">
|
|
|
<div class="swiper-wrapper">
|
|
<div class="swiper-wrapper">
|
|
|
- <div class="contenBox swiper-slide" v-for="(item, index) in data[myType]" :key="myType === 'video' ? item.url : item">
|
|
|
|
|
|
|
+ <div class="contenBox swiper-slide" v-for="(item, index) in data[myType]"
|
|
|
|
|
+ :key="myType === 'video' ? item.url : item">
|
|
|
<!-- 模型页面 -->
|
|
<!-- 模型页面 -->
|
|
|
<div class="modelBox" v-if="myType === 'model'">
|
|
<div class="modelBox" v-if="myType === 'model'">
|
|
|
<iframe :src="urlToFitFu(item)" frameborder="0" v-if="index === myInd"></iframe>
|
|
<iframe :src="urlToFitFu(item)" frameborder="0" v-if="index === myInd"></iframe>
|
|
@@ -39,11 +62,24 @@
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 左右箭头 -->
|
|
<!-- 左右箭头 -->
|
|
|
<template v-if="!isMobile">
|
|
<template v-if="!isMobile">
|
|
|
- <div @click="cutMyInd(-1, myInd === 0)" class="leftJJ awccJJ" :class="{ noClick: myInd === 0 }" v-if="data[myType] && data[myType].length > 1"></div>
|
|
|
|
|
- <div @click="cutMyInd(1, myInd === data[myType].length - 1)" class="rightJJ awccJJ" :class="{ noClick: myInd === data[myType].length - 1 }" v-if="data[myType] && data[myType].length > 1"></div>
|
|
|
|
|
|
|
+ <div @click="cutMyInd(-1, myInd === 0)" class="leftJJ awccJJ" :class="{ noClick: myInd === 0 }"
|
|
|
|
|
+ v-if="data[myType] && data[myType].length > 1"></div>
|
|
|
|
|
+ <div @click="cutMyInd(1, myInd === data[myType].length - 1)" class="rightJJ awccJJ"
|
|
|
|
|
+ :class="{ noClick: myInd === data[myType].length - 1 }" v-if="data[myType] && data[myType].length > 1">
|
|
|
|
|
+ </div>
|
|
|
</template>
|
|
</template>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="musicIcon"
|
|
|
|
|
+ v-if="audio"
|
|
|
|
|
+ @click="toggleAudio"
|
|
|
|
|
+ :title="audioSta ? '关闭音频' : '打开音频'"
|
|
|
|
|
+ >
|
|
|
|
|
+ <img :src="musicIconSrc" alt="">
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
<div class="swiper-pagination"></div>
|
|
<div class="swiper-pagination"></div>
|
|
|
|
|
|
|
@@ -65,11 +101,13 @@
|
|
|
|
|
|
|
|
<!-- 底部的tab -->
|
|
<!-- 底部的tab -->
|
|
|
<div class="flooTabBox" v-if="flooTab.length > 1">
|
|
<div class="flooTabBox" v-if="flooTab.length > 1">
|
|
|
- <div @click="myType = item.type" class="tabRow" :class="{ tabRowAc: myType === item.type }" v-for="item in flooTab" :key="item.id">
|
|
|
|
|
|
|
+ <div @click="myType = item.type" class="tabRow" :class="{ tabRowAc: myType === item.type }"
|
|
|
|
|
+ v-for="item in flooTab" :key="item.id">
|
|
|
<img :src="require(`@/assets/images/pc/icon${item.id}${myType === item.type ? 'Ac' : ''}.png`)" alt="" />
|
|
<img :src="require(`@/assets/images/pc/icon${item.id}${myType === item.type ? 'Ac' : ''}.png`)" alt="" />
|
|
|
<div>
|
|
<div>
|
|
|
{{ item.name }}
|
|
{{ item.name }}
|
|
|
- <span v-if="data[item.type] && data[item.type].length && data[item.type].length > 1">{{ item.type === myType ? myInd + 1 + "/" : null }}{{ data[item.type].length }}</span>
|
|
|
|
|
|
|
+ <span v-if="data[item.type] && data[item.type].length && data[item.type].length > 1">{{ item.type === myType ?
|
|
|
|
|
+ myInd + 1 + "/" : null }}{{ data[item.type].length }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 音频图标 -->
|
|
<!-- 音频图标 -->
|
|
@@ -84,13 +122,22 @@
|
|
|
<script>
|
|
<script>
|
|
|
import Swiper from "swiper";
|
|
import Swiper from "swiper";
|
|
|
import "swiper/css/swiper.min.css";
|
|
import "swiper/css/swiper.min.css";
|
|
|
|
|
+import musicOn from "@/assets/images/pc/music_on.png";
|
|
|
|
|
+import musicOff from "@/assets/images/pc/music_off.png";
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: "Home",
|
|
name: "Home",
|
|
|
components: {},
|
|
components: {},
|
|
|
data() {
|
|
data() {
|
|
|
|
|
+ const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
|
|
|
|
|
+ const isInIframe = window.self !== window.top;
|
|
|
return {
|
|
return {
|
|
|
isMobile: /iPhone|iPad|iPod|Android/i.test(navigator.userAgent),
|
|
isMobile: /iPhone|iPad|iPod|Android/i.test(navigator.userAgent),
|
|
|
|
|
+ isIOS,
|
|
|
|
|
+ isInIframe,
|
|
|
|
|
+ // iOS iframe 下先静音自动播放,用户触摸后再开声
|
|
|
|
|
+ needMutedAutoplay: isIOS && isInIframe,
|
|
|
|
|
+ showAudioUnlockTip: false,
|
|
|
m: this.$route.query.m,
|
|
m: this.$route.query.m,
|
|
|
id: this.$route.query.id,
|
|
id: this.$route.query.id,
|
|
|
// 音频地址
|
|
// 音频地址
|
|
@@ -138,18 +185,101 @@ export default {
|
|
|
},
|
|
},
|
|
|
// 音频的开启和关闭
|
|
// 音频的开启和关闭
|
|
|
audioSta(val) {
|
|
audioSta(val) {
|
|
|
- const dom = document.querySelector("#myAudio");
|
|
|
|
|
|
|
+ const dom = this.getAudioDom();
|
|
|
|
|
+ if (!dom) return;
|
|
|
if (val) {
|
|
if (val) {
|
|
|
- dom.play();
|
|
|
|
|
dom.onended = () => {
|
|
dom.onended = () => {
|
|
|
- // console.log("----音频播放完毕");
|
|
|
|
|
this.audioSta = false;
|
|
this.audioSta = false;
|
|
|
};
|
|
};
|
|
|
- } else dom.pause();
|
|
|
|
|
|
|
+ this.playAudio(dom);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ dom.pause();
|
|
|
|
|
+ this.showAudioUnlockTip = false;
|
|
|
|
|
+ this.removeAudioUnlock();
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ computed: {
|
|
|
|
|
+ musicIconSrc() {
|
|
|
|
|
+ return this.audioSta ? musicOn : musicOff;
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
- computed: {},
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ getAudioDom() {
|
|
|
|
|
+ return this.$refs.bgAudio || document.querySelector("#myAudio");
|
|
|
|
|
+ },
|
|
|
|
|
+ playAudio(dom) {
|
|
|
|
|
+ const audioDom = dom || this.getAudioDom();
|
|
|
|
|
+ if (!audioDom) return;
|
|
|
|
|
+ const playPromise = audioDom.play();
|
|
|
|
|
+ if (!playPromise || !playPromise.then) return;
|
|
|
|
|
+ playPromise
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ if (this.needMutedAutoplay) {
|
|
|
|
|
+ this.showAudioUnlockTip = true;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.showAudioUnlockTip = false;
|
|
|
|
|
+ this.removeAudioUnlock();
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(() => {
|
|
|
|
|
+ if (this.isIOS && this.isInIframe) {
|
|
|
|
|
+ this.showAudioUnlockTip = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.bindAudioUnlock();
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ unlockAudio() {
|
|
|
|
|
+ const dom = this.getAudioDom();
|
|
|
|
|
+ if (!dom) return;
|
|
|
|
|
+ this.needMutedAutoplay = false;
|
|
|
|
|
+ dom.muted = false;
|
|
|
|
|
+ this.showAudioUnlockTip = false;
|
|
|
|
|
+ if (this.audioSta) {
|
|
|
|
|
+ this.playAudio(dom);
|
|
|
|
|
+ }
|
|
|
|
|
+ this.removeAudioUnlock();
|
|
|
|
|
+ },
|
|
|
|
|
+ bindAudioUnlock() {
|
|
|
|
|
+ if (this._audioUnlockHandler || !this.audioSta) return;
|
|
|
|
|
+ this._audioUnlockHandler = () => {
|
|
|
|
|
+ this.unlockAudio();
|
|
|
|
|
+ };
|
|
|
|
|
+ document.addEventListener("touchstart", this._audioUnlockHandler, { passive: true });
|
|
|
|
|
+ document.addEventListener("click", this._audioUnlockHandler, { passive: true });
|
|
|
|
|
+ },
|
|
|
|
|
+ removeAudioUnlock() {
|
|
|
|
|
+ if (!this._audioUnlockHandler) return;
|
|
|
|
|
+ document.removeEventListener("touchstart", this._audioUnlockHandler);
|
|
|
|
|
+ document.removeEventListener("click", this._audioUnlockHandler);
|
|
|
|
|
+ this._audioUnlockHandler = null;
|
|
|
|
|
+ },
|
|
|
|
|
+ tryStartAudio() {
|
|
|
|
|
+ if (!this.audio) return;
|
|
|
|
|
+ this.audioSta = true;
|
|
|
|
|
+ },
|
|
|
|
|
+ notifyParentLoaded() {
|
|
|
|
|
+ if (typeof window.loaddingSuccess === "function") {
|
|
|
|
|
+ window.loaddingSuccess();
|
|
|
|
|
+ }
|
|
|
|
|
+ if (this.isInIframe) {
|
|
|
|
|
+ window.parent.postMessage({ type: "HOT_PAGE_READY" }, "*");
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ onParentMessage(event) {
|
|
|
|
|
+ if (!event.data || event.data.type !== "PLAY_BACKGROUND_AUDIO") return;
|
|
|
|
|
+ this.tryStartAudio();
|
|
|
|
|
+ },
|
|
|
|
|
+ toggleAudio() {
|
|
|
|
|
+ if (!this.audioSta) {
|
|
|
|
|
+ this.needMutedAutoplay = false;
|
|
|
|
|
+ const dom = this.getAudioDom();
|
|
|
|
|
+ if (dom) dom.muted = false;
|
|
|
|
|
+ this.showAudioUnlockTip = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.audioSta = !this.audioSta;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
// 本地化 url 适配
|
|
// 本地化 url 适配
|
|
|
urlToFitFu(url) {
|
|
urlToFitFu(url) {
|
|
|
return url;
|
|
return url;
|
|
@@ -189,12 +319,13 @@ export default {
|
|
|
// let url = `/data/${
|
|
// let url = `/data/${
|
|
|
//本地化部署
|
|
//本地化部署
|
|
|
this.id
|
|
this.id
|
|
|
- }/hot/js/data.js?time=${Math.random()}`;
|
|
|
|
|
|
|
+ }/hot/js/data.js?time=${Math.random()}`;
|
|
|
let result = (await this.$http.get(url)).data;
|
|
let result = (await this.$http.get(url)).data;
|
|
|
const resData = result[this.m];
|
|
const resData = result[this.m];
|
|
|
// console.log("----", resData);
|
|
// console.log("----", resData);
|
|
|
if (resData) {
|
|
if (resData) {
|
|
|
this.audio = resData.backgroundMusic;
|
|
this.audio = resData.backgroundMusic;
|
|
|
|
|
+ console.log(this.audio);
|
|
|
// 只有单独的音频上传
|
|
// 只有单独的音频上传
|
|
|
if (resData.backgroundMusic && !resData.model && !resData.video && !resData.images) {
|
|
if (resData.backgroundMusic && !resData.model && !resData.video && !resData.images) {
|
|
|
this.isOneAduio = true;
|
|
this.isOneAduio = true;
|
|
@@ -228,11 +359,15 @@ export default {
|
|
|
this.imgTxt = resData.imagesDesc || [];
|
|
this.imgTxt = resData.imagesDesc || [];
|
|
|
|
|
|
|
|
// 只有 标题和 文字介绍(没有视频,没有模型,没有图片)
|
|
// 只有 标题和 文字介绍(没有视频,没有模型,没有图片)
|
|
|
- if (!obj.model && !obj.video && !obj.img && !resData.backgroundMusic) {
|
|
|
|
|
|
|
+ if (!obj.model && !obj.video && !obj.img) {
|
|
|
this.oneTxt = true;
|
|
this.oneTxt = true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
|
|
+ if (this.audio) {
|
|
|
|
|
+ this.tryStartAudio();
|
|
|
|
|
+ }
|
|
|
|
|
+ this.notifyParentLoaded();
|
|
|
const _this = this;
|
|
const _this = this;
|
|
|
this.swiper = new Swiper(".contenBoxMain", {
|
|
this.swiper = new Swiper(".contenBoxMain", {
|
|
|
on: {
|
|
on: {
|
|
@@ -249,16 +384,43 @@ export default {
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
mounted() {
|
|
mounted() {
|
|
|
|
|
+ window.addEventListener("message", this.onParentMessage);
|
|
|
this.getData();
|
|
this.getData();
|
|
|
},
|
|
},
|
|
|
|
|
+ beforeDestroy() {
|
|
|
|
|
+ window.removeEventListener("message", this.onParentMessage);
|
|
|
|
|
+ this.removeAudioUnlock();
|
|
|
|
|
+ },
|
|
|
};
|
|
};
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
<style lang="less" scoped>
|
|
|
.home {
|
|
.home {
|
|
|
- background-color: rgba(rgba(248, 242, 232, 0.8));
|
|
|
|
|
- background-size: 100% 100%;
|
|
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 100%;
|
|
|
color: #9d0800;
|
|
color: #9d0800;
|
|
|
|
|
+ background-image: url(../assets/images/pc/hot_bg.png);
|
|
|
|
|
+ background-size: 100% 100%;
|
|
|
|
|
+ background-repeat: no-repeat;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.audioUnlockTip {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ inset: 0;
|
|
|
|
|
+ z-index: 999;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ background: rgba(0, 0, 0, 0.35);
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ letter-spacing: 1px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.home {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
.swiper-pagination {
|
|
.swiper-pagination {
|
|
|
margin: 10px 0 0;
|
|
margin: 10px 0 0;
|
|
|
position: relative;
|
|
position: relative;
|
|
@@ -280,45 +442,54 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.viewerCla img {
|
|
.viewerCla img {
|
|
|
display: none;
|
|
display: none;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
position: relative;
|
|
position: relative;
|
|
|
|
|
+
|
|
|
#myAudio {
|
|
#myAudio {
|
|
|
z-index: 11;
|
|
z-index: 11;
|
|
|
position: absolute;
|
|
position: absolute;
|
|
|
top: 50%;
|
|
top: 50%;
|
|
|
left: 50%;
|
|
left: 50%;
|
|
|
transform: translate(-50%, -50%);
|
|
transform: translate(-50%, -50%);
|
|
|
- width: 500px;
|
|
|
|
|
- height: 60px;
|
|
|
|
|
|
|
+ width: 0;
|
|
|
|
|
+ height: 0;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.main {
|
|
.main {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
margin: 0 auto;
|
|
margin: 0 auto;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
- padding: 30px 0 20px 0;
|
|
|
|
|
|
|
+ padding: 35px 0 45px 0;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
justify-content: center;
|
|
|
|
|
+
|
|
|
.myTitle {
|
|
.myTitle {
|
|
|
font-size: 22px;
|
|
font-size: 22px;
|
|
|
font-weight: 700;
|
|
font-weight: 700;
|
|
|
margin-bottom: 20px;
|
|
margin-bottom: 20px;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.logo {
|
|
.logo {
|
|
|
position: fixed;
|
|
position: fixed;
|
|
|
top: 30px;
|
|
top: 30px;
|
|
|
left: 30px;
|
|
left: 30px;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.mainCon {
|
|
.mainCon {
|
|
|
position: relative;
|
|
position: relative;
|
|
|
border-radius: 6px;
|
|
border-radius: 6px;
|
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- height: calc(100% - 320px);
|
|
|
|
|
|
|
+ height: fit-content;
|
|
|
|
|
+ max-height: 70%;
|
|
|
|
|
+
|
|
|
.oneTabNum {
|
|
.oneTabNum {
|
|
|
z-index: 10;
|
|
z-index: 10;
|
|
|
position: absolute;
|
|
position: absolute;
|
|
@@ -330,36 +501,42 @@ export default {
|
|
|
|
|
|
|
|
.contenBoxMain {
|
|
.contenBoxMain {
|
|
|
position: relative;
|
|
position: relative;
|
|
|
- width: 100%;
|
|
|
|
|
|
|
+ width: 101%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.contenBox {
|
|
.contenBox {
|
|
|
|
|
+
|
|
|
.modelBox,
|
|
.modelBox,
|
|
|
.videoBox,
|
|
.videoBox,
|
|
|
.imgBox {
|
|
.imgBox {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.modelBox {
|
|
.modelBox {
|
|
|
iframe {
|
|
iframe {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.videoBox {
|
|
.videoBox {
|
|
|
- padding: 0px 350px;
|
|
|
|
|
|
|
+
|
|
|
video {
|
|
video {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.imgBox {
|
|
.imgBox {
|
|
|
- padding: 0px 350px;
|
|
|
|
|
|
|
+padding: 0 20px;
|
|
|
.smImgBox {
|
|
.smImgBox {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
|
|
+
|
|
|
// cursor: zoom-in;
|
|
// cursor: zoom-in;
|
|
|
- & > img {
|
|
|
|
|
|
|
+ &>img {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
object-fit: contain;
|
|
object-fit: contain;
|
|
@@ -367,36 +544,54 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.awccJJ {
|
|
.awccJJ {
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
position: absolute;
|
|
position: absolute;
|
|
|
top: 50%;
|
|
top: 50%;
|
|
|
transform: translateY(-50%);
|
|
transform: translateY(-50%);
|
|
|
- left: 16%;
|
|
|
|
|
- width: 40px;
|
|
|
|
|
- height: 40px;
|
|
|
|
|
|
|
+ left: 2px;
|
|
|
|
|
+ width: 30px;
|
|
|
|
|
+ height: 50px;
|
|
|
background-image: url("../assets/images/pc/left.png");
|
|
background-image: url("../assets/images/pc/left.png");
|
|
|
- background-size: 100% 100%;
|
|
|
|
|
|
|
+ background-size: contain;
|
|
|
|
|
+ background-repeat: no-repeat;
|
|
|
z-index: 1;
|
|
z-index: 1;
|
|
|
|
|
+
|
|
|
&:focus {
|
|
&:focus {
|
|
|
outline: none;
|
|
outline: none;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.rightJJ {
|
|
.rightJJ {
|
|
|
left: auto;
|
|
left: auto;
|
|
|
- right: 16%;
|
|
|
|
|
|
|
+ right: 0;
|
|
|
background-image: url("../assets/images/pc/right.png");
|
|
background-image: url("../assets/images/pc/right.png");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.noClick {
|
|
.noClick {
|
|
|
cursor: default;
|
|
cursor: default;
|
|
|
opacity: 0.4;
|
|
opacity: 0.4;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ .musicIcon {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ bottom: 20px;
|
|
|
|
|
+ right: 20px;
|
|
|
|
|
+ width: 30px;
|
|
|
|
|
+ height: 30px;
|
|
|
|
|
+ z-index: 10;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.flooTxt {
|
|
.flooTxt {
|
|
|
margin: 0 auto;
|
|
margin: 0 auto;
|
|
|
margin-top: 10px;
|
|
margin-top: 10px;
|
|
|
- width: 70%;
|
|
|
|
|
- max-height: 120px;
|
|
|
|
|
|
|
+ width: 90%;
|
|
|
|
|
+ height: 0;
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+
|
|
|
.flooTxtBox {
|
|
.flooTxtBox {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
@@ -408,18 +603,21 @@ export default {
|
|
|
color: #333333;
|
|
color: #333333;
|
|
|
line-height: 24px;
|
|
line-height: 24px;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
&::-webkit-scrollbar {
|
|
&::-webkit-scrollbar {
|
|
|
/*滚动条整体样式*/
|
|
/*滚动条整体样式*/
|
|
|
width: 3px;
|
|
width: 3px;
|
|
|
/*高宽分别对应横竖滚动条的尺寸*/
|
|
/*高宽分别对应横竖滚动条的尺寸*/
|
|
|
height: 1px;
|
|
height: 1px;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
&::-webkit-scrollbar-thumb {
|
|
&::-webkit-scrollbar-thumb {
|
|
|
/*滚动条里面小方块*/
|
|
/*滚动条里面小方块*/
|
|
|
border-radius: 10px;
|
|
border-radius: 10px;
|
|
|
-webkit-box-shadow: inset 0 0 5px transparent;
|
|
-webkit-box-shadow: inset 0 0 5px transparent;
|
|
|
background: rgb(192, 166, 126);
|
|
background: rgb(192, 166, 126);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
&::-webkit-scrollbar-track {
|
|
&::-webkit-scrollbar-track {
|
|
|
/*滚动条里面轨道*/
|
|
/*滚动条里面轨道*/
|
|
|
-webkit-box-shadow: inset 0 0 5px transparent;
|
|
-webkit-box-shadow: inset 0 0 5px transparent;
|
|
@@ -428,6 +626,7 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.flooTxtOne {
|
|
.flooTxtOne {
|
|
|
height: 600px;
|
|
height: 600px;
|
|
|
}
|
|
}
|
|
@@ -440,6 +639,7 @@ export default {
|
|
|
bottom: 20px;
|
|
bottom: 20px;
|
|
|
right: 20px;
|
|
right: 20px;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
|
|
+
|
|
|
.tabRow {
|
|
.tabRow {
|
|
|
width: 60px;
|
|
width: 60px;
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
@@ -450,16 +650,19 @@ export default {
|
|
|
// background-color: #dedede;
|
|
// background-color: #dedede;
|
|
|
color: black;
|
|
color: black;
|
|
|
border-radius: 18px;
|
|
border-radius: 18px;
|
|
|
- & > img {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ &>img {
|
|
|
width: 40px;
|
|
width: 40px;
|
|
|
display: inline-block;
|
|
display: inline-block;
|
|
|
margin-bottom: 3px;
|
|
margin-bottom: 3px;
|
|
|
}
|
|
}
|
|
|
- & > div {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ &>div {
|
|
|
min-width: 40px;
|
|
min-width: 40px;
|
|
|
text-align: center;
|
|
text-align: center;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.tabRowAc {
|
|
.tabRowAc {
|
|
|
// background-color: #c8aa7d;
|
|
// background-color: #c8aa7d;
|
|
|
pointer-events: none;
|
|
pointer-events: none;
|
|
@@ -467,116 +670,23 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-// 移动端
|
|
|
|
|
-@media screen and (max-width: 1000px) {
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+@media screen and (max-width: 700px) {
|
|
|
.home {
|
|
.home {
|
|
|
- background-color: rgba(rgba(248, 242, 232, 0.9));
|
|
|
|
|
- .swiper-pagination {
|
|
|
|
|
- margin: 10px 0 0;
|
|
|
|
|
- gap: 4px;
|
|
|
|
|
-
|
|
|
|
|
- ::v-deep .swiper-pagination-bullet {
|
|
|
|
|
- width: 15px;
|
|
|
|
|
- height: 3px;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- #myAudio {
|
|
|
|
|
- width: 90vw;
|
|
|
|
|
- max-width: 500px;
|
|
|
|
|
- }
|
|
|
|
|
.main {
|
|
.main {
|
|
|
- width: 100%;
|
|
|
|
|
- height: 100%;
|
|
|
|
|
- padding: 0;
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- justify-content: end;
|
|
|
|
|
- .myTitle {
|
|
|
|
|
- font-size: 16px;
|
|
|
|
|
- }
|
|
|
|
|
.logo {
|
|
.logo {
|
|
|
- display: none;
|
|
|
|
|
- }
|
|
|
|
|
- .mainCon {
|
|
|
|
|
- border-radius: 0;
|
|
|
|
|
- height: calc(100% - 195px);
|
|
|
|
|
- margin: 92px 0 20px;
|
|
|
|
|
- .contenBox {
|
|
|
|
|
- .videoBox {
|
|
|
|
|
- padding: 0 30px;
|
|
|
|
|
- position: relative;
|
|
|
|
|
- video {
|
|
|
|
|
- width: calc(100% - 60px);
|
|
|
|
|
- max-height: 100%;
|
|
|
|
|
- height: auto;
|
|
|
|
|
- position: absolute;
|
|
|
|
|
- top: 50%;
|
|
|
|
|
- left: 50%;
|
|
|
|
|
- transform: translate(-50%, -50%);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .imgBox {
|
|
|
|
|
- // padding: 60px 50px 80px;
|
|
|
|
|
- padding: 0 15px;
|
|
|
|
|
- .smImgBox {
|
|
|
|
|
- cursor: default;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .awccJJ {
|
|
|
|
|
- left: 0;
|
|
|
|
|
- width: 28px;
|
|
|
|
|
- height: 57px;
|
|
|
|
|
- cursor: default;
|
|
|
|
|
- background-image: url("../assets/images/pc/icon-left.png");
|
|
|
|
|
- }
|
|
|
|
|
- .rightJJ {
|
|
|
|
|
- left: auto;
|
|
|
|
|
- right: 0;
|
|
|
|
|
- background-image: url("../assets/images/pc/icon-right.png");
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .flooTxt {
|
|
|
|
|
- margin-top: -5px;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- padding: 10px 15px 0px 15px;
|
|
|
|
|
- max-height: 200px;
|
|
|
|
|
- padding-bottom: 20px;
|
|
|
|
|
- background: url("../assets/images/textBg.png") no-repeat;
|
|
|
|
|
- background-size: 100% 100%;
|
|
|
|
|
- border-radius: 30px 30px 0 0;
|
|
|
|
|
- .flooTxtBox {
|
|
|
|
|
- padding: 0;
|
|
|
|
|
- height: 92%;
|
|
|
|
|
- margin-top: 20px;
|
|
|
|
|
- .myTitle {
|
|
|
|
|
- color: #e1bd83;
|
|
|
|
|
- }
|
|
|
|
|
- .myTxt {
|
|
|
|
|
- color: #fff;
|
|
|
|
|
- font-size: 14px;
|
|
|
|
|
- line-height: 22px;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .flooTxtOne {
|
|
|
|
|
- height: 100%;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .flooTabBox {
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- bottom: 220px;
|
|
|
|
|
- right: 0;
|
|
|
|
|
- justify-content: center;
|
|
|
|
|
- .tabRow {
|
|
|
|
|
- cursor: default;
|
|
|
|
|
- // margin: 0 6px;
|
|
|
|
|
- // padding: 0 10px;
|
|
|
|
|
- height: 32px;
|
|
|
|
|
- & > img {
|
|
|
|
|
- width: 30px;
|
|
|
|
|
|
|
+ height: 100px;
|
|
|
|
|
+ &>img{
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ object-fit: contain;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
</style>
|
|
</style>
|