gemercheung 2 роки тому
батько
коміт
4ea70fa428

+ 5 - 3
packages/qjkankan-editor/src/components/sceneGroupInEditor.vue

@@ -36,7 +36,6 @@
               : $i18n.t(`zh_key.${groupNode.name}`)
           }} -->
           {{ groupLv1name(groupNode.name) }}
-   
         </span>
         <i
           v-show="level === 1"
@@ -194,6 +193,7 @@ import SceneInGroup from "@/components/sceneInGroupInEditor.vue";
 import MaterialSelector from "@/components/materialSelector.vue";
 import InsertPositionTip from "@/components/insertPositionTipInEditor.vue";
 import { mapGetters, mapMutations } from "vuex";
+import { isUpgradeAdapter } from "@/utils/fixVersion";
 
 export default {
   name: "SceneGroup",
@@ -225,7 +225,9 @@ export default {
   computed: {
     groupLv1name() {
       return (name) => {
-        return name && name.length ? name :this.$i18n.t('navigation.group_one');
+        return name && name.length
+          ? name
+          : this.$i18n.t("navigation.group_one");
       };
     },
     ...mapGetters({
@@ -348,7 +350,7 @@ export default {
                 ? this.groupNode.children[0].id
                 : this.groupNode.id,
             type: "4dkk",
-            version: item.isUpgrade === 1 ? "V4" : "V3", // 'V3' OR 'V4'. 全景看看v1.3新增
+            version: isUpgradeAdapter(item.isUpgrade), // 'V3' OR 'V4'. 全景看看v1.3新增
             id: "s_" + this.$randomWord(true, 8, 8),
           });
         }

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

@@ -52,6 +52,7 @@ import { $waiting } from "@/components/shared/loading";
 import Snapshot from "@/components/Snapshot";
 import { uploadCover, searchInAll3DScenes } from "@/api";
 import config from "@/config";
+import { isUpgradeAdapter } from "@/utils/fixVersion";
 
 let __krfn = krfn.default;
 
@@ -97,18 +98,15 @@ export default {
         $("#pano").empty();
         if (!newVal.version) {
           // v1.3之前在作品中新增的三维场景,没有version这个值,需要查询。
-
           searchInAll3DScenes(
             {
               searchKey: newVal.sceneTitle,
             },
             (res) => {
-              //@TODO 坑位,现时后端场景V4/V3 是以isUpgrade(Boolean)做为检验
               const originItem = res.data.list.find((item) => {
                 return item.num === newVal.sceneCode;
               });
-
-              const isVersion = originItem.isUpgrade === 1 ? "V4" : "V3";
+              const isVersion = isUpgradeAdapter(originItem.isUpgrade);
               newVal.version = isVersion;
               this.currentSceneVersion = isVersion;
             }

+ 15 - 0
packages/qjkankan-editor/src/utils/fixVersion.js

@@ -0,0 +1,15 @@
+
+/**
+   * 2023-06-06  V4/V3 新增adapter 由于会出number/null 类型, 不能以 Number(null)做不判断,Number(null) 的值是0
+   * @TODO 坑位,由于以前后端水平有限,场景不能以isUpgrade(Number():Boolean 做为检验
+     2023-06-06 后端燕海回复 isUpgrade只有0时是V3,存在null时,1为人工修改。
+   */
+
+export const isUpgradeAdapter = (val) => {
+    if (typeof val === "number" && val === 0) {
+        debugger
+        return "V3";
+    } else {
+        return "V4";
+    }
+}

+ 18 - 19
packages/qjkankan-view/src/components/Pano/index.vue

@@ -9,7 +9,7 @@ import { useStore } from "vuex";
 import { useApp, getApp } from "@/app";
 import Fdkk from "../Fdkk";
 import { getFdkkInfo } from "@/apis";
-
+import { isUpgradeAdapter } from "@/utils/fixVersion";
 import browser from "@/utils/browser";
 import config from "@/utils/config";
 
@@ -81,24 +81,23 @@ watch(
     } else {
       getFdkkInfo({ num: newVal.sceneCode }).then((data) => {
         hadGetInfo.value = true;
-        if (data.data.isUpgrade != void 0) {
-          store.commit(
-            "scene/setFdkkCurrentVersion",
-            data.data.isUpgrade !== 0 ? "v4" : "v3"
-          );
-
-          // v3
-          if (data.data.isUpgrade === 0) {
-            store.dispatch("audio/pauseBGM");
-            let flag =
-              data.data.bgMusic &&
-              data.data.bgMusic != "0" &&
-              data.data.bgMusic != "noMusic";
-
-            store.commit("fdkk/setV3FdkkBGM", flag);
-            if (unref(isHasNormalBGM) && !flag) {
-              store.dispatch("audio/pauseBGM");
+        const isVersion = isUpgradeAdapter(data.data.isUpgrade);
+        store.commit("scene/setFdkkCurrentVersion", isVersion);
+        // v3
+        if (isVersion === "V3") {
+          let flag =
+            data.data.bgMusic &&
+            data.data.bgMusic != "0" &&
+            data.data.bgMusic != "noMusic";
+
+          store.commit("fdkk/setV3FdkkBGM", flag);
+          if (!flag) {
+            if (unref(isHasNormalBGM)) {
+              console.log("不存在V3并存在普通bgm");
+              store.dispatch("audio/resumeBGM");
             }
+          } else {
+            store.dispatch("audio/pauseBGM");
           }
         }
       });
@@ -139,7 +138,7 @@ useApp().then((app) => {
       if (!isNotclickType.includes(hotspot.hotspotType)) {
         console.log("click", hotspot);
         // store.commit("functions/setPauseFrom", "");
-        store.dispatch("audio/pauseBGM");
+        // store.dispatch("audio/pauseBGM");
         if (hotspot.hotspotType == "phone" && unref(isMobile)) {
           window.open(`tel:${hotspot.phoneInfo.phone}`, "_self");
           return;

+ 3 - 0
packages/qjkankan-view/src/hooks/useAudio.js

@@ -194,6 +194,9 @@ class AudioPlayer {
                 console.log('play---1', this._autoplay)
                 if (this._autoplay) {
                     await this.audio.play();
+                } else {
+                    //默认不自动播放重置状态
+                    this._isPlaying = false
                 }
             }
         } catch (error) {

+ 4 - 4
packages/qjkankan-view/src/store/modules/audio.js

@@ -57,7 +57,7 @@ export default {
             return state.normalBGM.url.length > 0
         },
         isHasV3BGM: (state) => {
-            return state.v3BGM.isExist
+            return state.v3BGM.isPlayIng
         },
         isHasV4BGM: (state) => {
             return state.v4BGM.url.length > 0
@@ -90,9 +90,9 @@ export default {
         },
         setV3BGM(state, payload) {
             state.v3BGM.isPlayIng = payload
-            if (payload) {
-                state.v3BGM.isExist = payload
-            }
+            // if (payload) {
+            //     state.v3BGM.isExist = payload
+            // }
         },
         setV4BGM(state, payload) {
             state.v4BGM.url = payload.url

+ 14 - 0
packages/qjkankan-view/src/utils/fixVersion.js

@@ -0,0 +1,14 @@
+
+/**
+   * 2023-06-06  V4/V3 新增adapter 由于会出number/null 类型, 不能以 Number(null)做不判断,Number(null) 的值是0
+   * @TODO 坑位,由于以前后端水平有限,场景不能以isUpgrade(Number():Boolean 做为检验
+     2023-06-06 后端燕海回复 isUpgrade只有0时是V3,存在null时,1为人工修改。
+   */
+
+export const isUpgradeAdapter = (val) => {
+    if (typeof val === "number" && val === 0) {
+        return "V3";
+    } else {
+        return "V4";
+    }
+}