gemercheung 2 years ago
parent
commit
e767c65d91

+ 5 - 4
packages/qjkankan-view/public/showMobile.html

@@ -47,6 +47,10 @@
     <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
     <link rel="icon" href="./favicon.png" />
     <title>-</title>
+    <script src="https://4dkk.4dage.com/v4-test/www/viewer/static/lib/vconsole.js"></script>
+    <script>
+      var vConsole = new window.VConsole();
+    </script>
   </head>
   <body>
     <div id="app"></div>
@@ -56,9 +60,6 @@
     <script src="<%= VUE_APP_STATIC_DIR %>/lib/howler/howler.min.js"></script>
     <script src="<%= VUE_APP_STATIC_DIR %>/lib/swiper/swiper-bundle.min.js"></script>
     <!-- <script src="<%= VUE_APP_STATIC_DIR %>/lib/jssor/jssor.slider-28.1.0.min.js"></script> -->
-    <!-- <script src="https://4dkk.4dage.com/v4-test/www/viewer/static/lib/vconsole.js"></script>
-    <script>
-      var vConsole = new window.VConsole();
-    </script> -->
+ 
   </body>
 </html>

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

@@ -143,9 +143,12 @@ const handleMessage = (res) => {
       if (!params.status) {
         store.dispatch("audio/pauseBGM");
       } else {
-        if (!isPlayTours.value) {
-          store.dispatch("audio/playBGM", 2);
-        }
+        setTimeout(() => {
+          if (!isPlayTours.value) {
+            console.error("toggleBgmStatus-恢复");
+            store.dispatch("audio/playBGM", 2);
+          }
+        }, 500);
       }
     }
 

+ 11 - 9
packages/qjkankan-view/src/components/UIGather/list.vue

@@ -282,7 +282,6 @@ const initMainSwiper = () => {
 const initsencordNatSwiper = () => {
   nextTick(() => {
     if (window.sencordNatSwiper) {
-      // window.sencordNatSwiper = null;
       window.sencordNatSwiper.update();
       window.sencordNatSwiper.slideReset();
     }
@@ -318,11 +317,14 @@ const scenesSwiperFocus = () => {
 
 const sencordNatSwiperFocus = () => {
   nextTick(() => {
+    console.log("currentSecondary", currentSecondary.value);
     const current = Array.from(secondaryList.value).findIndex(
       (item) => item.id === currentSecondary.value.id
     );
-    if (window.sencordNatSwiper) {
-      console.warn("current-sencordNatSwiper-index", current);
+    if (window.sencordNatSwiper && window.sencordNatSwiper.slides.length > 0) {
+      const index = current < 0 ? 0 : current;
+      console.warn("sencordNatSwiperFocus", index);
+      // window.sencordNatSwiper.slideTo(current);
       window.sencordNatSwiper.slideTo(current);
     }
   });
@@ -520,7 +522,8 @@ $width: 1150px;
           width: 100%;
           overflow: hidden;
 
-          > span {
+          > span,
+          div {
             // width: 100%;
             line-height: 20px;
             word-break: keep-all;
@@ -555,11 +558,10 @@ $width: 1150px;
     -webkit-transform: translateX(-180%);
   }
 }
-.marquee{
+.marquee {
   .marquee-text-wrap {
-  height: 20px;
-  line-height: 20px;
-}
+    height: 20px;
+    line-height: 20px;
+  }
 }
-
 </style>

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

@@ -187,6 +187,7 @@ onMounted(() => {
       store.commit("functions/setShowScenesList", false);
     } else {
       store.commit("functions/setShowScenesList", true);
+      store.commit("fdkk/setShowToursList", false);
     }
   });
 });

+ 4 - 3
packages/qjkankan-view/src/components/UIGather/mobile/list.vue

@@ -325,8 +325,8 @@ onMounted(() => {
     } else {
       if (window.sencordNatSwiper) {
         console.warn("destroy-sencordNatSwiper");
-        window.sencordNatSwiper.destroy(true);
-        window.sencordNatSwiper = null;
+        window.sencordNatSwiper.update();
+        window.sencordNatSwiper.slideReset();
       }
     }
   });
@@ -494,7 +494,8 @@ onMounted(() => {
           width: 100%;
           overflow: hidden;
 
-          > span {
+          > span,
+          div {
             width: 100%;
             line-height: 20px;
             word-break: keep-all;

+ 100 - 54
packages/qjkankan-view/src/components/UIGather/mobile/menu.vue

@@ -1,86 +1,131 @@
 <template>
-  <ul class="menu" >
+  <ul class="menu">
     <li @click="onIsShowList">
-      <img :src="require(`@/assets/images/icon/${isShowScenesList ? 'function_off.svg' : 'function_on.svg'}`)" alt="" />
+      <img
+        :src="
+          require(`@/assets/images/icon/${
+            isShowScenesList ? 'function_off.svg' : 'function_on.svg'
+          }`)
+        "
+        alt=""
+      />
     </li>
-   <template v-if="currentScene.type == '4dkk'">
-    <li :class="{ disabled: isPlayTours || flying }"  @click="onModeChange('panorama')">
-      <img :src="require(`@/assets/images/icon/${mode=='panorama'?'roaming_selected':'roaming_normal'}.svg`)" alt="" />
-    </li>
-
-    <li :class="{ disabled: isPlayTours || flying }"  @click="onModeChange('floorplan')">
-      <img :src="require(`@/assets/images/icon/${mode=='floorplan'?'plane_selected':'plane_normal'}.svg`)" alt="" />
-    </li>
-
-    <li :class="{ disabled: isPlayTours || flying }"  @click="onModeChange('dollhouse')">
-      <img :src="require(`@/assets/images/icon/${mode=='dollhouse'?'3d_selected':'3d_normal'}.svg`)" alt="" />
-    </li>
-
-    <li class="daolan" @click.stop="playTour" v-if="toursList.length>0">
-      <img :src="require(`@/assets/images/icon/${isPlayTours?'pause01':'playing01'}.svg`)" alt="" />
-      <span>{{$t('menu.tour')}}</span>
-      <img @click.stop="openTours" :class="{active:showTours}" class="jiantou"
-        :src="require(`@/assets/images/icon/expand_arrows@2x.png`)" alt="" />
-    </li>
-
-   </template>
+    <template v-if="currentScene.type == '4dkk'">
+      <li
+        :class="{ disabled: isPlayTours || flying }"
+        @click="onModeChange('panorama')"
+      >
+        <img
+          :src="
+            require(`@/assets/images/icon/${
+              mode == 'panorama' ? 'roaming_selected' : 'roaming_normal'
+            }.svg`)
+          "
+          alt=""
+        />
+      </li>
+
+      <li
+        :class="{ disabled: isPlayTours || flying }"
+        @click="onModeChange('floorplan')"
+      >
+        <img
+          :src="
+            require(`@/assets/images/icon/${
+              mode == 'floorplan' ? 'plane_selected' : 'plane_normal'
+            }.svg`)
+          "
+          alt=""
+        />
+      </li>
+
+      <li
+        :class="{ disabled: isPlayTours || flying }"
+        @click="onModeChange('dollhouse')"
+      >
+        <img
+          :src="
+            require(`@/assets/images/icon/${
+              mode == 'dollhouse' ? '3d_selected' : '3d_normal'
+            }.svg`)
+          "
+          alt=""
+        />
+      </li>
+
+      <li class="daolan" @click.stop="playTour" v-if="toursList.length > 0">
+        <img
+          :src="
+            require(`@/assets/images/icon/${
+              isPlayTours ? 'pause01' : 'playing01'
+            }.svg`)
+          "
+          alt=""
+        />
+        <span>{{ $t("menu.tour") }}</span>
+        <img
+          @click.stop="openTours"
+          :class="{ active: showTours }"
+          class="jiantou"
+          :src="require(`@/assets/images/icon/expand_arrows@2x.png`)"
+          alt=""
+        />
+      </li>
+    </template>
   </ul>
 </template>
 
 <script setup>
-import { ref, watch, computed, onMounted, nextTick } from "vue";
+import { ref, watch, computed, onMounted, nextTick, watchEffect } from "vue";
 import { useStore } from "vuex";
 const store = useStore();
 const toursList = computed(() => store.getters["fdkk/toursList"]);
 
-const isShowScenesList = computed(() => store.getters["functions/isShowScenesList"]);
+const isShowScenesList = computed(
+  () => store.getters["functions/isShowScenesList"]
+);
 const toursStatus = computed(() => store.getters["fdkk/toursStatus"]);
 const isPlayTours = computed(() => store.getters["fdkk/isPlayTours"]);
 const flying = computed(() => store.getters["fdkk/isFlying"]);
 const mode = computed(() => store.getters["fdkk/mode"]);
 
-
 const showTours = computed(() => store.getters["fdkk/isShowToursList"]);
 
-
 const currentScene = computed(() => store.getters["scene/currentScene"]);
 
-
 const openTours = () => {
   if (isShowScenesList.value) {
     store.commit("functions/setShowScenesList", false);
   }
-  
-  store.commit('fdkk/setShowToursList', !showTours.value)
-}
+
+  store.commit("fdkk/setShowToursList", !showTours.value);
+};
 
 const playTour = () => {
-  store.commit('fdkk/setToursStatus', !toursStatus.value)
-}
+  store.commit("fdkk/setToursStatus", !toursStatus.value);
+};
 
 const onIsShowList = (data) => {
   if (showTours.value) {
-    store.commit('fdkk/setShowToursList', false)
+    store.commit("fdkk/setShowToursList", false);
   }
   store.commit("functions/setShowScenesList", !isShowScenesList.value);
 };
 
-const onModeChange = name => {
-  document.querySelector('#fdkkifr') && document.querySelector('#fdkkifr').contentWindow.postMessage(
-    {
-      source: "qjkankan",
-      event: "setMode",
-      params:{
-        name:name
-      }
-    },
-    "*"
-  );    
-}
-
+const onModeChange = (name) => {
+  document.querySelector("#fdkkifr") &&
+    document.querySelector("#fdkkifr").contentWindow.postMessage(
+      {
+        source: "qjkankan",
+        event: "setMode",
+        params: {
+          name: name,
+        },
+      },
+      "*"
+    );
+};
 
-onMounted(() => {
-})
 </script>
 
 <style lang="scss" scoped>
@@ -91,13 +136,13 @@ onMounted(() => {
   display: flex;
   z-index: 9;
 
-  >li {
+  > li {
     width: 36px;
     height: 36px;
     margin: 0 10px;
     cursor: pointer;
 
-    >img {
+    > img {
       width: 100%;
       height: 100%;
     }
@@ -108,7 +153,7 @@ onMounted(() => {
     width: auto;
     align-items: center;
 
-    >img {
+    > img {
       width: 36px;
       height: 36px;
     }
@@ -116,14 +161,15 @@ onMounted(() => {
     .jiantou {
       margin-left: -4px;
       transform: rotate(180deg);
-      transition: .3s ease transform;
+      transition: 0.3s ease transform;
 
       &.active {
         transform: none;
       }
     }
 
-    >span {}
+    > span {
+    }
   }
 }
 </style>

+ 10 - 1
packages/qjkankan-view/src/hooks/useAudio.js

@@ -35,6 +35,7 @@ async function initDefaultAudio() {
       }
       watchUpdateCurrentScenEexplanation(unref(val3));
       watchResetV4BGM(unref(val3));
+      watchSWitchNormalBGM(unref(val3));
     },
     {
       deep: true,
@@ -64,7 +65,7 @@ async function initDefaultAudio() {
           }
         }
       } else {
-        console.log('为空暂时')
+        console.log("为空暂时");
         unref(currentPlayer) && unref(currentPlayer).stop();
       }
     },
@@ -122,6 +123,14 @@ function watchResetV4BGM(data) {
     store.dispatch("audio/initV4BGM", "");
   }
 }
+function watchSWitchNormalBGM(data) {
+  if (data.type === "pano") {
+    console.log("watchSWitchNormalBGM");
+    if (store.getters["audio/isHasNormalBGM"]) {
+      store.dispatch("audio/playBGM", 0);
+    }
+  }
+}
 
 function createAudioPlayer(url, autoplay, loop = true) {
   const player = new AudioPlayer({