ソースを参照

update fixbug

tremble 2 年 前
コミット
008f785df5
25 ファイル変更209 行追加60 行削除
  1. 1 1
      packages/qjkankan-editor/.env
  2. 1 1
      packages/qjkankan-editor/.env.bendi
  3. 1 1
      packages/qjkankan-editor/.env.testprod
  4. 1 1
      packages/qjkankan-editor/src/components/preview/index.vue
  5. 1 1
      packages/qjkankan-editor/src/framework/EditorHead.vue
  6. 1 1
      packages/qjkankan-editor/src/framework/core/index.vue
  7. 1 1
      packages/qjkankan-editor/src/framework/play/pano/index.vue
  8. 2 2
      packages/qjkankan-editor/src/views/material/popup/imagePreviewer.vue
  9. 2 2
      packages/qjkankan-kankan-view/public/smg.html
  10. 2 2
      packages/qjkankan-kankan-view/public/spg.html
  11. 44 4
      packages/qjkankan-kankan-view/src/components/Controls/tours.mobile.vue
  12. 44 5
      packages/qjkankan-kankan-view/src/components/Controls/tours.vue
  13. 1 0
      packages/qjkankan-kankan-view/src/components/Information/View.Pc.vue
  14. 4 3
      packages/qjkankan-kankan-view/src/components/Tags/index.vue
  15. 22 0
      packages/qjkankan-kankan-view/src/pages/SPG.vue
  16. 2 0
      packages/qjkankan-kankan-view/src/utils/sound.js
  17. 1 1
      packages/qjkankan-view/.env
  18. 1 1
      packages/qjkankan-view/.env.testprod
  19. 6 6
      packages/qjkankan-view/public/showviewer/lib/krpano/tour.xml
  20. 6 3
      packages/qjkankan-view/src/components/Fdkk/v3fdkkmobile/iframe.vue
  21. 10 5
      packages/qjkankan-view/src/components/Pano/index.vue
  22. 3 1
      packages/qjkankan-view/src/components/UIGather/menu.vue
  23. 34 15
      packages/qjkankan-view/src/components/UIGather/mobile/control.fdkk.vue
  24. 2 2
      packages/qjkankan-view/src/pages/showMobile.vue
  25. 16 1
      packages/qjkankan-view/src/store/modules/fdkk.js

+ 1 - 1
packages/qjkankan-editor/.env

@@ -1,6 +1,6 @@
 VUE_APP_MAIN_COLOR=''
 VUE_APP_STATIC_DIR=static
-VUE_APP_CDN=https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com
+VUE_APP_CDN=https://ossxiaoan.4dage.com
 VUE_APP_PROXY_URL_ROOT='https://test.4dkankan.com'
 VUE_APP_PROXY_URL='https://test.4dkankan.com/qjkankan/'
 VUE_APP_URL_FILL=

+ 1 - 1
packages/qjkankan-editor/.env.bendi

@@ -1,5 +1,5 @@
 VUE_APP_MAIN_COLOR=''
 VUE_APP_STATIC_DIR=static
-VUE_APP_CDN=https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com
+VUE_APP_CDN=https://ossxiaoan.4dage.com
 VUE_APP_PROXY_URL='http://192.168.0.135:8001/'
 VUE_APP_URL_FILL='/'

+ 1 - 1
packages/qjkankan-editor/.env.testprod

@@ -2,7 +2,7 @@
 NODE_ENV=production
 VUE_APP_MAIN_COLOR=''
 VUE_APP_STATIC_DIR=static
-VUE_APP_CDN=https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com
+VUE_APP_CDN=https://ossxiaoan.4dage.com
 VUE_APP_PROXY_URL_ROOT='https://test.4dkankan.com'
 VUE_APP_PROXY_URL='https://test.4dkankan.com/qjkankan/'
 VUE_APP_URL_FILL=/qjkankan

+ 1 - 1
packages/qjkankan-editor/src/components/preview/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <popup v-if="show" :zIdx="'1100'">
+    <popup v-if="show" :key="Math.random()" :zIdx="'1100'">
       <div
         class="ui-message ui-message-confirm"
         :class="{

+ 1 - 1
packages/qjkankan-editor/src/framework/EditorHead.vue

@@ -14,7 +14,7 @@
       <i class="iconfont iconeditor_save"></i>
       保存
     </div>
-    <preview v-if="info" :name="info.name" :show="showPreview" :ifr="`./show.html?id=${info.id}&rnd=${Math.random()}`" @close="showPreview = false" />
+    <preview v-if="info" :key="Math.random()" :name="info.name" :show="showPreview" :ifr="`./show.html?id=${info.id}&rnd=${Math.random()}`" @close="showPreview = false" />
   </header>
 </template>
 <script>

+ 1 - 1
packages/qjkankan-editor/src/framework/core/index.vue

@@ -119,7 +119,7 @@ export default {
             removepano('#pano')
             $waiting.show()
             embedpano({
-            // http://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fd720_Va0LrkXW3/vtour/tour.xml
+            // http://ossxiaoan.4dage.com/720yun_fd_manage/fd720_Va0LrkXW3/vtour/tour.xml
             // xml: "%HTMLPATH%/static/template/tour.xml",
             xml: `${this.$cdn}/720yun_fd_manage/${newVal.sceneCode}/vtour/tour.xml`,
             swf: "%HTMLPATH%/static/template/tour.swf",

+ 1 - 1
packages/qjkankan-editor/src/framework/play/pano/index.vue

@@ -86,7 +86,7 @@ export default {
         removepano("#pano");
         $waiting.show();
         embedpano({
-          // http://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fd720_Va0LrkXW3/vtour/tour.xml
+          // http://ossxiaoan.4dage.com/720yun_fd_manage/fd720_Va0LrkXW3/vtour/tour.xml
           // xml: "%HTMLPATH%/static/template/tour.xml",
           xml: `${this.$cdn}/720yun_fd_manage/${newVal.sceneCode}/vtour/tour.xml`,
           swf: "%HTMLPATH%/static/template/tour.swf",

+ 2 - 2
packages/qjkankan-editor/src/views/material/popup/imagePreviewer.vue

@@ -72,8 +72,8 @@ export default {
       type: Array,
       default: () => {
         return [
-          'https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fodder/20220125_114634855.jpg',
-          'https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fodder/20220125_142545584.jpg',
+          'https://ossxiaoan.4dage.com/720yun_fd_manage/fodder/20220125_114634855.jpg',
+          'https://ossxiaoan.4dage.com/720yun_fd_manage/fodder/20220125_142545584.jpg',
         ]
       }
     },

+ 2 - 2
packages/qjkankan-kankan-view/public/smg.html

@@ -27,8 +27,8 @@
 
         <script src="<%= BASE_URL %><%= VUE_APP_STATIC_DIR %>/static/lib/jweixin-1.6.0.js"></script>
         
-        <script src="<%= VUE_APP_SDK_DIR %>kankan-sdk-deps.js?v=4.4.0-alpha.7"></script>
-        <script src="<%= VUE_APP_SDK_DIR %>kankan-sdk.js?v=4.4.0-alpha.7"></script>
+        <script src="<%= VUE_APP_SDK_DIR %>kankan-sdk-deps.js?v=4.4.0-alpha.10"></script>
+        <script src="<%= VUE_APP_SDK_DIR %>kankan-sdk.js?v=4.4.0-alpha.10"></script>
 
         <!-- <script src="https://4dkk.4dage.com/v4/www/sdk/kankan-sdk-deps.js?v=4.0.0-alpha.44"></script>
         <script src="https://4dkk.4dage.com/v4/www/sdk/kankan-sdk.js?v=4.0.0-alpha.44"></script> -->

+ 2 - 2
packages/qjkankan-kankan-view/public/spg.html

@@ -17,8 +17,8 @@
         </noscript>
         <div id="app"></div>
         
-        <script src="<%= VUE_APP_SDK_DIR %>kankan-sdk-deps.js?v=4.4.0-alpha.7"></script>
-        <script src="<%= VUE_APP_SDK_DIR %>kankan-sdk.js?v=4.4.0-alpha.7"></script>
+        <script src="<%= VUE_APP_SDK_DIR %>kankan-sdk-deps.js?v=4.4.0-alpha.10"></script>
+        <script src="<%= VUE_APP_SDK_DIR %>kankan-sdk.js?v=4.4.0-alpha.10"></script>
 
         <!-- built files will be auto injected -->
     </body>

+ 44 - 4
packages/qjkankan-kankan-view/src/components/Controls/tours.mobile.vue

@@ -135,18 +135,48 @@ const slideScroll = () => {
 const hanlderTour = async () => {
   let player = await getApp().TourManager.player
   player.on('play', data => {
-    musicPlayer.pause(true)
+    // musicPlayer.pause(true)
+    window.parent.postMessage(
+        {
+            source: "qjkankan",
+            event: "toggleBgmStatus",
+            params: {
+                status: false,
+            },
+        },
+        "*"
+    );
   })
   player.on('pause', tours => {
     console.log('pause', player)
-    musicPlayer.resume()
+    // musicPlayer.resume()
+    window.parent.postMessage(
+        {
+            source: "qjkankan",
+            event: "toggleBgmStatus",
+            params: {
+                status: true,
+            },
+        },
+        "*"
+    );
 
     progressNum.value = 0
     cancelTimer()
     store.commit('tour/setData', { isPlay: false })
   })
   player.on('end', tours => {
-    musicPlayer.resume()
+    // musicPlayer.resume()
+    window.parent.postMessage(
+        {
+            source: "qjkankan",
+            event: "toggleBgmStatus",
+            params: {
+                status: true,
+            },
+        },
+        "*"
+    );
     progressNum.value = 100
     slideScroll()
     store.commit('tour/setData', { isPlay: false })
@@ -237,7 +267,17 @@ const onClickHandler = async () => {
   if (isPlay.value) {
     let player = await getApp().TourManager.player
     player.pause()
-    musicPlayer.resume()
+    // musicPlayer.resume()
+    window.parent.postMessage(
+        {
+            source: "qjkankan",
+            event: "toggleBgmStatus",
+            params: {
+                status: true,
+            },
+        },
+        "*"
+    );
   }
 }
 

+ 44 - 5
packages/qjkankan-kankan-view/src/components/Controls/tours.vue

@@ -135,18 +135,47 @@ const slideScroll = () => {
 const hanlderTour = async () => {
   let player = await getApp().TourManager.player
   player.on('play', data => {
-    musicPlayer.pause(true)
+    // musicPlayer.pause(true)
+    window.parent.postMessage(
+        {
+            source: "qjkankan",
+            event: "toggleBgmStatus",
+            params: {
+                status: false,
+            },
+        },
+        "*"
+    );
   })
   player.on('pause', tours => {
     console.log('pause', player)
-    musicPlayer.resume()
-
+    // musicPlayer.resume()
+    window.parent.postMessage(
+        {
+            source: "qjkankan",
+            event: "toggleBgmStatus",
+            params: {
+                status: true,
+            },
+        },
+        "*"
+    );
     progressNum.value = 0
     cancelTimer()
     store.commit('tour/setData', { isPlay: false })
   })
   player.on('end', tours => {
-    musicPlayer.resume()
+    // musicPlayer.resume()
+    window.parent.postMessage(
+        {
+            source: "qjkankan",
+            event: "toggleBgmStatus",
+            params: {
+                status: true,
+            },
+        },
+        "*"
+    );
     progressNum.value = 100
     slideScroll()
     store.commit('tour/setData', { isPlay: false })
@@ -237,7 +266,17 @@ const onClickHandler = async () => {
   if (isPlay.value) {
     let player = await getApp().TourManager.player
     player.pause()
-    musicPlayer.resume()
+    // musicPlayer.resume()
+    window.parent.postMessage(
+        {
+            source: "qjkankan",
+            event: "toggleBgmStatus",
+            params: {
+                status: true,
+            },
+        },
+        "*"
+    );
   }
 }
 

+ 1 - 0
packages/qjkankan-kankan-view/src/components/Information/View.Pc.vue

@@ -75,6 +75,7 @@ const onShowDescription = () => {
     }
     .text {
         // width: 190px;
+        text-align: center;
         min-width: 240px;
         transition: width 0.3s;
         padding: 0 20px;

+ 4 - 3
packages/qjkankan-kankan-view/src/components/Tags/index.vue

@@ -1,10 +1,10 @@
 <template>
     <teleport :to="tags$" v-if="tags$">
         <template v-for="(tag, index) in tags">
-            <div @mouseenter="onMouseEnter(tag, index)" @mouseleave="onMouseLeave($event, tag)" :style="{ left: tag.x + 'px', top: tag.y + 'px' }" :class="{ visible: tag.visible }">
-                <span @click.stop="goTag(tag, index)" class="point zoom" :style="{ 'background-image': 'url(' + getUrl(tag.icon) + ')' }"></span>
+            <div @mouseleave="onMouseLeave($event, tag)" :style="{ left: tag.x + 'px', top: tag.y + 'px' }" :class="{ visible: tag.visible }">
+                <span @click.stop="goTag(tag, index)" class="point zoom" @mouseenter.stop="onMouseEnter(tag, index)" :style="{ 'background-image': 'url(' + getUrl(tag.icon) + ')' }"></span>
                 <div class="content">
-                    <div class="trans" :class="{ active: (isFixed && tag.sid == hotData.sid) || (showInfo && tag.sid == hotData.sid) }">
+                    <div class="trans" :class="{ active: (isFixed && hotData && tag.sid == hotData.sid) || (showInfo && hotData && tag.sid == hotData.sid) }">
                         <template v-if="hotData && tag.sid == hotData.sid && !showMsg">
                             <div class="arrow" :id="`arrow_${tag.sid}`"></div>
                             <ShowTag @click.stop="" v-if="!isEdit && hotData" @open="openInfo" />
@@ -16,6 +16,7 @@
         </template>
     </teleport>
 </template>
+
 <script setup>
 import { ref, onMounted, computed, watch, watchEffect, onActivated, onDeactivated, getCurrentInstance, nextTick } from 'vue'
 import { getApp, useApp } from '@/app'

+ 22 - 0
packages/qjkankan-kankan-view/src/pages/SPG.vue

@@ -107,6 +107,7 @@ onMounted(() => {
         }
     })
     app.Scene.on('panorama.videorenderer.resumerender', () => {
+        console.log(1111111);
         window.parent.postMessage(
             {
                 source: "qjkankan",
@@ -117,6 +118,17 @@ onMounted(() => {
             },
             "*"
         );
+
+        window.parent.postMessage(
+            {
+                source: "qjkankan",
+                event: "toggleBgmStatus",
+                params: {
+                    status: false,
+                },
+            },
+            "*"
+        );
     })
 
     app.Scene.on('panorama.videorenderer.suspendrender', async () => {
@@ -133,6 +145,16 @@ onMounted(() => {
                 },
                 "*"
             );
+            window.parent.postMessage(
+                {
+                    source: "qjkankan",
+                    event: "toggleBgmStatus",
+                    params: {
+                        status: true,
+                    },
+                },
+                "*"
+            );
         }
     })
     app.Camera.on('mode.beforeChange', ({ fromMode, toMode, floorIndex }) => {

+ 2 - 0
packages/qjkankan-kankan-view/src/utils/sound.js

@@ -108,12 +108,14 @@ class AudioPlayer extends KanKan.MITT.Emiter {
     }
     play() {
         this.sound.play()
+       
     }
     pause(fromOther) {
         if (!this.isPlay) {
             return
         }
         this.sound.pause()
+       
         if (fromOther) {
             this.pauseFromOther = true
         }

+ 1 - 1
packages/qjkankan-view/.env

@@ -1,5 +1,5 @@
 VUE_APP_STATIC_DIR=showviewer
-VUE_APP_CDN=https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com
+VUE_APP_CDN=https://ossxiaoan.4dage.com
 VUE_APP_PROXY_URL_ROOT='https://test.4dkankan.com'
 VUE_APP_PROXY_URL='https://test.4dkankan.com/qjkankan/'
 VUE_APP_URL_FILL=

+ 1 - 1
packages/qjkankan-view/.env.testprod

@@ -1,6 +1,6 @@
 NODE_ENV=production
 VUE_APP_STATIC_DIR=showviewer
-VUE_APP_CDN=https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com
+VUE_APP_CDN=https://ossxiaoan.4dage.com
 VUE_APP_PROXY_URL_ROOT='https://test.4dkankan.com'
 VUE_APP_PROXY_URL='https://test.4dkankan.com/qjkankan/'
 VUE_APP_URL_FILL=/qjkankan

+ 6 - 6
packages/qjkankan-view/public/showviewer/lib/krpano/tour.xml

@@ -123,21 +123,21 @@
 	</scene>
 
 
-<scene name="scene_fd720_HLWHObl0I" title="fd720_HLWHObl0I" onstart="" thumburl="https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/thumb.jpg" lat="" lng="" heading="">
+<scene name="scene_fd720_HLWHObl0I" title="fd720_HLWHObl0I" onstart="" thumburl="https://ossxiaoan.4dage.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/thumb.jpg" lat="" lng="" heading="">
 <view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto"/>
-<preview url="https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/preview.jpg"/>
+<preview url="https://ossxiaoan.4dage.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/preview.jpg"/>
 		<image type="CUBE" multires="true" tilesize="512">
 		<level tiledimagewidth="5184" tiledimageheight="5184">
-		<cube url="https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/%s/l4/%v/l4_%s_%v_%h.jpg"/>
+		<cube url="https://ossxiaoan.4dage.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/%s/l4/%v/l4_%s_%v_%h.jpg"/>
 		</level>
 		<level tiledimagewidth="2624" tiledimageheight="2624">
-		<cube url="https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/%s/l3/%v/l3_%s_%v_%h.jpg"/>
+		<cube url="https://ossxiaoan.4dage.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/%s/l3/%v/l3_%s_%v_%h.jpg"/>
 		</level>
 		<level tiledimagewidth="1280" tiledimageheight="1280">
-		<cube url="https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/%s/l2/%v/l2_%s_%v_%h.jpg"/>
+		<cube url="https://ossxiaoan.4dage.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/%s/l2/%v/l2_%s_%v_%h.jpg"/>
 		</level>
 		<level tiledimagewidth="640" tiledimageheight="640">
-		<cube url="https://oss-xiaoan.oss-cn-shenzhen.aliyuncs.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/%s/l1/%v/l1_%s_%v_%h.jpg"/>
+		<cube url="https://ossxiaoan.4dage.com/720yun_fd_manage/fd720_HLWHObl0I/vtour/panos/fd720_HLWHObl0I.tiles/%s/l1/%v/l1_%s_%v_%h.jpg"/>
 		</level>
 		</image>
 </scene>

+ 6 - 3
packages/qjkankan-view/src/components/Fdkk/v3fdkkmobile/iframe.vue

@@ -66,6 +66,8 @@ export default {
 
           if (e.data.params.type == "playMusic") {
             this.bgmstatus = e.data.params.data.status;
+            console.log(e.data.params.data.status, 'e.data.params.data.status');
+            this.store.commit('fdkk/setV3BGMStatus', e.data.params.data.status)
           }
 
           if (e.data.params.type == "mode") {
@@ -73,13 +75,14 @@ export default {
               this.store.commit("functions/setShowScenesList", false)
             }
           }
-
-
-
           // store.commit('fdkk/setIsPlayTours', params.isPlay)
 
         }
 
+        // if (e.data.event == "settings") {
+        //   this.store.commit('fdkk/setV3BGMStatus', e.data.params.status)
+        // }
+
         if (e.data.event == "loaded") {
           console.log(e.data.params, 'e.data.params');
           this.params = e.data.params;

+ 10 - 5
packages/qjkankan-view/src/components/Pano/index.vue

@@ -55,19 +55,24 @@ watch(currentScene, (newVal, oldVal) => {
     });
   } else {
     getFdkkInfo({ num: newVal.sceneCode }).then((data) => {
-
       if (data.data.isUpgrade != void 0) {
         store.commit("scene/setFdkkCurrentVersion", data.data.isUpgrade !== 0 ? 'v4' : 'v3');
         if (data.data.isUpgrade === 0) {
-          // 该v3场景有背景音乐
-          if (data.data.bgMusic && data.data.bgMusic != '0' && data.data.bgMusic != 'noMusic') {
-            musicPlayer.pauseFromOther = true
+          musicPlayer.pauseFromOther = true
+          if (!browser.isMobile()) {
             musicPlayer.pause()
+          } else {
+            // 该v3场景有背景音乐
+            store.commit("fdkk/setV3FdkkBGM", data.data.bgMusic && data.data.bgMusic != '0' && data.data.bgMusic != 'noMusic');
+
+            console.log(data.data.bgMusic && data.data.bgMusic != '0' && data.data.bgMusic != 'noMusic','==========');
           }
+
+
         }
       }
 
-      if (oldVal.type == '4dkk') {
+      if (oldVal.type == '4dkk' && data.data.isUpgrade !== 0) {
         store.commit('fdkk/setFdkkBGM', '')
         useMusicPlayer.player.watchPlay(true)
       }

+ 3 - 1
packages/qjkankan-view/src/components/UIGather/menu.vue

@@ -9,7 +9,9 @@
 
 
     <div class="v-link"
-      v-if="currentScene.type == '4dkk' && fdkkmetadata && (fdkkmetadata.controls.showPanorama || fdkkmetadata.controls.showFloorplan || fdkkmetadata.controls.showDollhouse)">
+      v-if="
+      (!((metadata.catalogRoot && metadata.catalogRoot.length == 1) && scenes.length == 1 && secondaryList.length == 1)) &&
+      currentScene.type == '4dkk' && fdkkmetadata && (fdkkmetadata.controls.showPanorama || fdkkmetadata.controls.showFloorplan || fdkkmetadata.controls.showDollhouse)">
     </div>
 
     <template v-if="currentScene.type == '4dkk'">

+ 34 - 15
packages/qjkankan-view/src/components/UIGather/mobile/control.fdkk.vue

@@ -1,11 +1,11 @@
 <template>
-  <ul class="control-fdkk" v-if="(fdkkmetadata && (fdkkmetadata.controls.showPanorama || fdkkmetadata.controls.showFloorplan || fdkkmetadata.controls.showDollhouse))
-  || (customLink && customLink.isShow)
-  || (customTelephone && customTelephone.isShow)
-  || (metadata.description)
-  || (metadata.description)
-  || (metadata.backgroundMusic && metadata.backgroundMusic.id && (fdkkCurrentVersion != 'v3' &&  (fdkkmetadata && !fdkkmetadata.controls.showMap)))">
-
+  <ul class="control-fdkk"
+    v-if="(fdkkmetadata && (fdkkmetadata.controls.showPanorama || fdkkmetadata.controls.showFloorplan || fdkkmetadata.controls.showDollhouse))
+    || toursList.length > 0
+    || (customLink && customLink.isShow)
+    || (customTelephone && customTelephone.isShow)
+    || (metadata.description)
+    || ((((metadata.backgroundMusic && metadata.backgroundMusic.id && (fdkkCurrentVersion != 'v3')) || fdkkBGM || v3IsBgm)) && (fdkkmetadata && !fdkkmetadata.controls.showMap))">
 
     <li class="daolan" :class="{ v3daolan: fdkkCurrentVersion == 'v3' }" @click.stop="playTour"
       v-if="toursList.length > 0">
@@ -18,7 +18,7 @@
       <div class="vlink"></div>
     </li>
 
-    <template v-if="fdkkCurrentVersion != 'v3' &&  (fdkkmetadata && !fdkkmetadata.controls.showMap)">
+    <template v-if="fdkkCurrentVersion != 'v3' && (fdkkmetadata && !fdkkmetadata.controls.showMap)">
       <li v-if="fdkkmetadata && fdkkmetadata.controls.showPanorama" :class="{ disabled: isPlayTours || flying }"
         @click="onModeChange('panorama')">
         <img
@@ -40,10 +40,10 @@
 
       <li class="vlink"
         v-if="
-        (customLink && customLink.isShow)||
-        (customTelephone && customTelephone.isShow)||
-        (metadata.description)||
-        (metadata.backgroundMusic && metadata.backgroundMusic.id && (fdkkCurrentVersion != 'v3')) &&
+        (customLink && customLink.isShow) ||
+        (customTelephone && customTelephone.isShow) ||
+        (metadata.description) ||
+        ((metadata.backgroundMusic && metadata.backgroundMusic.id && (fdkkCurrentVersion != 'v3')) || fdkkBGM || v3IsBgm) &&
         (fdkkmetadata && (fdkkmetadata.controls.showPanorama || fdkkmetadata.controls.showFloorplan || fdkkmetadata.controls.showDollhouse))">
       </li>
 
@@ -70,8 +70,12 @@
 
 
     <!-- 背景音乐 -->
-    <li @click="onIsBGM" v-if="(metadata.backgroundMusic && metadata.backgroundMusic.id && (fdkkCurrentVersion != 'v3')) || fdkkBGM">
-      <img :src="require(`@/assets/images/icon/${showMusicPlaying ? 'music@2x.png' : 'music_disabled@2x.png'}`)"
+    <li @click="onIsBGM" v-if="(metadata.backgroundMusic && metadata.backgroundMusic.id && (fdkkCurrentVersion != 'v3'))
+    || fdkkBGM
+    || v3IsBgm">
+      <img v-if="v3IsBgm"
+        :src="require(`@/assets/images/icon/${v3BGMStatus ? 'music@2x.png' : 'music_disabled@2x.png'}`)" alt="" />
+      <img v-else :src="require(`@/assets/images/icon/${showMusicPlaying ? 'music@2x.png' : 'music_disabled@2x.png'}`)"
         alt="" />
     </li>
 
@@ -125,6 +129,8 @@ const fdkkmetadata = computed(() => store.getters["fdkk/metadata"]);
 const fdkkCurrentVersion = computed(() => store.getters["scene/fdkkCurrentVersion"]);
 const fdkkBGM = computed(() => store.getters["fdkk/fdkkBGM"]);
 
+const v3IsBgm = computed(() => store.getters["fdkk/v3IsBgm"]);
+const v3BGMStatus = computed(() => store.getters["fdkk/v3BGMStatus"]);
 
 
 const customTelephone = computed(() => store.getters["scene/customTelephone"]);
@@ -147,7 +153,20 @@ const onLink = () => {
 }
 
 const onIsBGM = () => {
-  showMusicPlaying.value ? musicPlayer.pause() : musicPlayer.play()
+  if (v3IsBgm.value) {
+    document.querySelector('#showifr') && document.querySelector('#showifr').contentWindow.postMessage(
+      {
+        source: "mingyuan",
+        event: "settings",
+        params: {
+          playMusic: !v3BGMStatus.value,
+        },
+      },
+      "*"
+    );
+  } else {
+    showMusicPlaying.value ? musicPlayer.pause() : musicPlayer.play()
+  }
 }
 
 const openTours = () => {

+ 2 - 2
packages/qjkankan-view/src/pages/showMobile.vue

@@ -149,7 +149,7 @@ onMounted(async () => {
       app.Scene.on("sceneReady", () => {
         if (app.krpanoDom) {
           if (earthMask.value) {
-            app.krpanoDom.set(`hotspot[nadirlogo].visible`, earthMask.value.isShow);
+            app.krpanoDom.set(`hotspot[nadirlogo].visible`, Boolean(earthMask.value.isShow));
             if (earthMask.value.icon) {
               app.krpanoDom.set(`hotspot[nadirlogo].url`, earthMask.value.icon);
             }
@@ -157,7 +157,7 @@ onMounted(async () => {
 
           
           if (skyMask.value) {
-            app.krpanoDom.set(`hotspot[peaklogo].visible`, skyMask.value.isShow);
+            app.krpanoDom.set(`hotspot[peaklogo].visible`, Boolean(skyMask.value.isShow));
             if (skyMask.value.icon) {
               app.krpanoDom.set(`hotspot[peaklogo].url`, skyMask.value.icon);
             }

+ 16 - 1
packages/qjkankan-view/src/store/modules/fdkk.js

@@ -12,6 +12,12 @@ export default {
       isFlying: false,
       v3IsVr: false,
 
+      // v3场景是否有音乐
+      v3IsBgm: '',
+
+      // v3场景是否在播放
+      v3BGMStatus: '',
+      
       mode: 'panorama',
       //当时场景的背景音乐
       fdkkBGM: '',
@@ -29,6 +35,8 @@ export default {
     isFlying: (state) => state.isFlying,
     mode: (state) => state.mode,
     fdkkBGM: (state) => state.fdkkBGM,
+    v3IsBgm: (state) => state.v3IsBgm,
+    v3BGMStatus: (state) => state.v3BGMStatus,
     metadata: (state) => state.metadata,
   },
   mutations: {
@@ -111,7 +119,14 @@ export default {
       } else {
         state.fdkkBGM = null
       }
+    },
+    setV3FdkkBGM(state, payload) {
+      if (payload) {
+        state.v3IsBgm = payload
+      }
+    },
+    setV3BGMStatus(state, payload) {
+        state.v3BGMStatus = payload
     }
-
   },
 };