| @@ -3,7 +3,12 @@ | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"/> | |||
| <meta name="apple-mobile-web-app-capable" content="yes"/> | |||
| <meta name="full-screen" content="true"/> | |||
| <meta name="screen-orientation" content="portrait"/> | |||
| <meta name="x5-fullscreen" content="true"/> | |||
| <meta name="360-fullscreen" content="true"/> | |||
| <link rel="icon" href="<%= BASE_URL %>favicon.ico"> | |||
| <title> | |||
| <%= htmlWebpackPlugin.options.title %> | |||
| @@ -16,6 +21,23 @@ | |||
| continue.</strong> | |||
| </noscript> | |||
| <div id="app"></div> | |||
| <audio id="bgAudio"> | |||
| <source src="http://static.jiyou-tech.com/546/resource/assets/sound/music.mp3" type="audio/mpeg"> | |||
| </audio> | |||
| <script> | |||
| var bgAudio=document.getElementById('bgAudio'); | |||
| bgAudio.loop=true; | |||
| bgLoop=false; | |||
| document.addEventListener("DOMContentLoaded", function() { | |||
| document.addEventListener("WeixinJSBridgeReady", function() { | |||
| bgAudio.play(); | |||
| }, false); | |||
| }); | |||
| var openLoop=function(){ | |||
| bgLoop=true; | |||
| } | |||
| bgAudio.addEventListener('play',openLoop) | |||
| </script> | |||
| <!-- built files will be auto injected --> | |||
| </body> | |||
| </html> | |||
| @@ -2,10 +2,7 @@ | |||
| <div id="app"> | |||
| <router-view /> | |||
| <btn-music :bgLoop="bgLoop"></btn-music> | |||
| <audio ref="bgAudio"> | |||
| <source src="http://static.jiyou-tech.com/546/resource/assets/sound/music.mp3" type="audio/mpeg"> | |||
| </audio> | |||
| <!-- <sidebar></sidebar> --> | |||
| <!-- <sidebar style="position: absolute;top: 20vw;left: 10vw;"></sidebar> --> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| @@ -13,36 +10,34 @@ | |||
| // import Sidebar from './components/sidebar.vue' | |||
| export default { | |||
| name: 'APP', | |||
| data(){ | |||
| return{ | |||
| btnAudio:null, | |||
| bgLoop:false, | |||
| data() { | |||
| return { | |||
| btnAudio: null, | |||
| bgLoop: false, | |||
| } | |||
| }, | |||
| components: { | |||
| BtnMusic | |||
| }, | |||
| mounted() { | |||
| var that=this; | |||
| this.bgAudio = this.$refs.bgAudio; | |||
| this.bgAudio.loop=true; | |||
| document.addEventListener("DOMContentLoaded", function() { | |||
| document.addEventListener("WeixinJSBridgeReady", function() { | |||
| this.bgAudio.play(); | |||
| }, false); | |||
| }); | |||
| this.bgAudio.addEventListener('play',function(){ | |||
| that.bgLoop=true; | |||
| var that = this; | |||
| this.bgAudio=window['bgAudio']; | |||
| this.bgLoop=window['bgLoop'] | |||
| if(!this.bgLoop){ | |||
| this.bgAudio.removeEventListener('play',window['openLoop']); | |||
| } | |||
| this.bgAudio.addEventListener('play', function() { | |||
| that.bgLoop = true; | |||
| }) | |||
| this.bgAudio.addEventListener('pause',function(){ | |||
| that.bgLoop=false; | |||
| this.bgAudio.addEventListener('pause', function() { | |||
| that.bgLoop = false; | |||
| }) | |||
| }, | |||
| methods:{ | |||
| playMusic(){ | |||
| if(this.bgLoop){//暂停 | |||
| methods: { | |||
| playMusic() { | |||
| if (this.bgLoop) { //暂停 | |||
| this.bgAudio.pause(); | |||
| }else{//播放 | |||
| } else { //播放 | |||
| this.bgAudio.play(); | |||
| } | |||
| } | |||
| @@ -63,6 +58,15 @@ | |||
| height: 100%; | |||
| } | |||
| body { | |||
| -webkit-touch-callout: none; | |||
| -webkit-user-select: none; | |||
| -khtml-user-select: none; | |||
| -moz-user-select: none; | |||
| -ms-user-select: none; | |||
| user-select: none; | |||
| } | |||
| img { | |||
| display: block; | |||
| } | |||
| @@ -1,17 +1,20 @@ | |||
| <template> | |||
| <div ref="sidebar" id="sidebar"> | |||
| <div class="sidebarMiddle"> | |||
| <img class="btnClose" :src="getImg('btnClose.png')" @click="close" /> | |||
| <div style="margin-bottom: calc(136/750*100vw);width: 100%;"></div> | |||
| <div class="treeNode" :key="item1.title" v-for="(item1,index1) in list"> | |||
| <div class="title titleBox1" :class="{selected:item1.show}" v-text="item1.title" @click="show1(index1)"></div> | |||
| <div class="treeNodeContent" v-for="(item2,index2) in item1.children" v-show="item1.show"> | |||
| <div class="title titleBox2" :class="{selected:item2.show}" v-text="item2.title" @click="show2(index1,index2)"></div> | |||
| <transition name="fade"> | |||
| <div class="treeNodeItem" v-show="item2.show"> | |||
| <div class="title titleBox3" v-for="(item3,index3) in item2.children" v-text="item3" @click="show3(index1,index2,item3)"></div> | |||
| </div> | |||
| </transition> | |||
| <div class="pageSidebar"> | |||
| <img style="width: 100%;" :src="getImg('sidebar.png')" @click="open"/> | |||
| <div ref="sidebar" id="sidebar"> | |||
| <div class="sidebarMiddle"> | |||
| <img class="btnClose" :src="getImg('btnClose.png')" @click="close" /> | |||
| <div style="margin-bottom: calc(136/750*100vw);width: 100%;"></div> | |||
| <div class="treeNode" :key="item1.title" v-for="(item1,index1) in list"> | |||
| <div class="title titleBox1" :class="{selected:item1.show}" v-text="item1.title" @click="show1(index1)"></div> | |||
| <div class="treeNodeContent" v-for="(item2,index2) in item1.children" v-show="item1.show"> | |||
| <div class="title titleBox2" :class="{selected:item2.show}" v-text="item2.title" @click="show2(index1,index2)"></div> | |||
| <transition name="fade"> | |||
| <div class="treeNodeItem" v-show="item2.show"> | |||
| <div class="title titleBox3" v-for="(item3,index3) in item2.children" v-text="item3" @click="show3(index1,index2,item3)"></div> | |||
| </div> | |||
| </transition> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| @@ -95,10 +98,15 @@ | |||
| </script> | |||
| <style lang="scss" scoped="scoped"> | |||
| .pageSidebar{ | |||
| position: relative; | |||
| width: calc(49/750*100vw); | |||
| height: calc(41/750*100vw); | |||
| } | |||
| #sidebar { | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0%; | |||
| left: -100%; | |||
| width: calc(593/750*100vw); | |||
| height: 100%; | |||
| background-image: linear-gradient(rgba(48, 53, 56, 0.9), rgba(22, 20, 17, 0.9)); | |||
| @@ -33,8 +33,13 @@ | |||
| </script> | |||
| <style lang="scss" scoped="scoped"> | |||
| .home{ | |||
| position: fixed; | |||
| width: 100%; | |||
| height: 100%; | |||
| left: 0; | |||
| top: 0; | |||
| background-color: #61686d; | |||
| overflow: hidden; | |||
| .logo{ | |||
| width: calc(166/750*100vw); | |||
| margin: 0 auto; | |||
| @@ -63,8 +63,8 @@ | |||
| this.mcEnd=true; | |||
| }, | |||
| select(index) { | |||
| this.mcEnd=false; | |||
| if (this.step < 3) { | |||
| this.mcEnd=false; | |||
| this.selectList[this.step - 1] = index; | |||
| this.step++; | |||
| } else { | |||
| @@ -80,8 +80,12 @@ | |||
| @import url("../style/animation.css"); | |||
| .list { | |||
| position: fixed; | |||
| width: 100%; | |||
| height: 100%; | |||
| left: 0; | |||
| top: 0; | |||
| overflow: hidden; | |||
| .btnBack { | |||
| position: absolute; | |||
| width: calc(24/750*100vw); | |||
| @@ -0,0 +1,7 @@ | |||
| // vue.config.js | |||
| module.exports = { | |||
| // 选项... | |||
| publicPath: process.env.NODE_ENV === 'production' | |||
| ? '/2020/561/' | |||
| : '/' | |||
| } | |||