tremble 3 роки тому
батько
коміт
77d3dc4155

+ 8 - 11
src/clients/mobile.vue

@@ -1,12 +1,6 @@
 <template>
   <div class="bbbb">
     <router-view />
-    <audio
-      ref="vgbgm"
-      class="noshow"
-      loop
-      :src="require(`@/assets/audio/bgm.mp3`)"
-    ></audio>
     <div class="orientation-tip">
       <div>
         <img :src="require('@/assets/images/project/landtip.png')" alt="" />
@@ -100,7 +94,10 @@ export default {
   },
   watch:{
     '$route.name':function (newVal) {
-      newVal !='scene' ? this.$refs.vgbgm.pause() : this.$refs.vgbgm.play();
+      console.log(newVal == 'scene');
+      console.log(newVal,'newValnewValnewValnewVal');
+      this.$bus.$emit("toggleBGM",newVal =='scene')
+      // newVal !='scene' ? this.$refs.vgbgm.pause() : this.$refs.vgbgm.play();
     }
   },
   mounted() {
@@ -115,12 +112,12 @@ export default {
 
     this.$nextTick(()=>{
       document.addEventListener('WeixinJSBridgeReady', ()=>{
-        this.$refs.vgbgm.load()
       }, false);
 
-      this.$bus.$on('toggleHomeBgm',newVal=>{
-        !newVal ? this.$refs.vgbgm.pause() : this.$refs.vgbgm.play();
-      })
+      // this.$bus.$on('toggleHomeBgm',newVal=>{
+      //   console.log(newVal);
+      //   !newVal ? this.$refs.vgbgm.pause() : this.$refs.vgbgm.play();
+      // })
     })
 
 

+ 30 - 11
src/pages/mobilescene/menu/func.vue

@@ -43,11 +43,16 @@ let menu = [
 export default {
   props: ["tourStatus"],
   data() {
+    let bgmAudio = new Audio();
+    bgmAudio.src = require(`@/assets/audio/bgm.mp3`);
+    bgmAudio.loop = true;
+
     return {
       menu,
       goodNum: 1099,
       isShowGood: false,
       isBgm: false,
+      bgmAudio,
       isShowHuDong: false,
     };
   },
@@ -55,8 +60,7 @@ export default {
     isBgm: {
       immediate: true,
       handler: function(newVal) {
-        this.$bus.$emit("toggleHomeBgm", newVal);
-        // !newVal ? this.$refs.vbgm.pause() : this.$refs.vbgm.play();
+        !newVal ? this.bgmAudio.pause() : this.bgmAudio.play();
       },
     },
     isShowHuDong(newVal){
@@ -64,15 +68,22 @@ export default {
     },
     tourStatus(newVal) {
       if (newVal) {
-        this.isBgm = false;
+          this.isBgm = true;
       } else {
         let status = localStorage.getItem("g_bgmstatus");
         if (status === "open") {
           this.isBgm = true;
+        }else{
+        this.isBgm = false;
+
         }
       }
     },
   },
+  beforeDestroy() {
+    this.bgmAudio.pause() 
+    this.bgmAudio = null
+  },
   methods: {
     onClick(item) {
 
@@ -119,18 +130,26 @@ export default {
     },
   },
   mounted() {
-    this.isBgm = true;
+     this.isBgm = true;
     localStorage.setItem("g_bgmstatus", this.isBgm ? "open" : "close");
+
     this.$nextTick(() => {
-      this.$bus.$on("toggleBGM", (data) => {
-        if (!data) {
-          this.isBgm = data;
-        } else {
-          let status = localStorage.getItem("g_bgmstatus");
-          if (status === "open") {
+      setTimeout(() => {
+        if (this.bgmAudio.paused) {
+          this.isBgm = false;
+          localStorage.setItem("g_bgmstatus", this.isBgm ? "open" : "close");
+        }
+        this.$bus.$on("toggleBGM", (data) => {
+          console.log(data,'datadatadatadatadatadatadatadata');
+          if (!data) {
             this.isBgm = data;
+          } else {
+            let status = localStorage.getItem("g_bgmstatus");
+            if (status === "open") {
+              this.isBgm = data;
+            }
           }
-        }
+        });
       });
     });
   },

+ 3 - 44
src/pages/mobilescene/raside/menu.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="rmenu">
     <ul v-if="menuType == 'func' && isShowfunc">
-      <li :class="{ rmactive: isBgm && item.id == 'music' }" v-for="(item, i) in menu" :key="i">
+      <li  v-for="(item, i) in menu" :key="i">
         <img @click="onClick(item)" :title="item.name" :src="require(`@/assets/images/proj2022/mobile/menu/${item.img}.png`)" alt="" />
       </li>
     </ul>
@@ -88,14 +88,8 @@ export default {
     },
   },
   data() {
-    let bgmAudio = new Audio();
-    bgmAudio.src = require(`@/assets/audio/bgm.mp3`);
-    bgmAudio.loop = true;
-
     return {
       current: "play",
-      bgmAudio,
-      isBgm: false,
       menu: [
         {
           id: "daka",
@@ -124,45 +118,10 @@ export default {
     };
   },
   watch: {
-    isBgm: {
-      immediate: true,
-      handler: function(newVal) {
-        !newVal ? this.bgmAudio.pause() : this.bgmAudio.play();
-      },
-    },
-    tourStatus(newVal) {
-      if (newVal) {
-        this.isBgm = false;
-      } else {
-        let status = localStorage.getItem("g_bgmstatus");
-        if (status === "open") {
-          this.isBgm = true;
-        }
-      }
-    },
+  
   },
   mounted() {
-    this.isBgm = true;
-    localStorage.setItem("g_bgmstatus", this.isBgm ? "open" : "close");
-
-    this.$nextTick(() => {
-      setTimeout(() => {
-        if (this.bgmAudio.paused) {
-          this.isBgm = false;
-          localStorage.setItem("g_bgmstatus", this.isBgm ? "open" : "close");
-        }
-        this.$bus.$on("toggleBGM", (data) => {
-          if (!data) {
-            this.isBgm = data;
-          } else {
-            let status = localStorage.getItem("g_bgmstatus");
-            if (status === "open") {
-              this.isBgm = data;
-            }
-          }
-        });
-      });
-    });
+   
   },
   methods: {
     onClickNavigate(type) {