Explorar el Código

修复旧数据Somedata的数据类型不匹配的bug

tremble hace 2 años
padre
commit
0df0d9ca35

+ 6 - 1
packages/qjkankan-view/src/pages/show.vue

@@ -178,7 +178,12 @@ onMounted(async () => {
           app.krpanoDom.set(`layer[webvr_exitbutton].html`, t('common.exit_vr'));
 
         }
-        app.Tags.initHotspot(currentScene.value.someData.hotspots, false);
+        let hotspots = []
+        if (currentScene.value.someData) {
+          hotspots = typeof currentScene.value.someData == 'string' ? JSON.parse(currentScene.value.someData).hotspots : currentScene.value.someData.hotspots
+        }
+        console.log(hotspots,'hotspotshotspotshotspotshotspots');
+        app.Tags.initHotspot(hotspots, false);
       });
 
     }

+ 6 - 1
packages/qjkankan-view/src/pages/showMobile.vue

@@ -177,7 +177,12 @@ onMounted(async () => {
           app.krpanoDom.set(`layer[webvr_exitbutton].html`, t('common.exit_vr'));
 
         }
-        app.Tags.initHotspot(currentScene.value.someData ? currentScene.value.someData.hotspots : [], false);
+ 
+        let hotspots = []
+        if (currentScene.value.someData) {
+          hotspots = typeof currentScene.value.someData == 'string' ? JSON.parse(currentScene.value.someData).hotspots : currentScene.value.someData.hotspots
+        }
+        app.Tags.initHotspot(hotspots, false);
       });
       
     }

+ 1 - 1
packages/qjkankan-view/src/sdk/QJKanKan/modules/Tags.js

@@ -23,7 +23,7 @@ export default class Tags extends Emiter {
     let ath = this.app.krpanoDom.get("curscreen_ath");
     let atv = this.app.krpanoDom.get("curscreen_atv");
     this.app.krpanoDom.call(`addImgTextHotSpot(
-        ${param.img.replace('static/','showviewer/').replace('.svg','.png')},
+        ${param.img.replace('static/','showviewer/').replace('.svg','.png').replace('@2x','')},
         ${param.name},
         ${param.hotspotTitle},
         ${param.ath != '' ? param.ath : ath},

+ 7 - 0
packages/qjkankan-view/src/store/modules/scene.js

@@ -95,6 +95,13 @@ export default {
 
     // 设置当前场景
     setCurrentScene(state, payload) {
+      if (payload.someData) {
+        try {
+          // someData旧数据有可能是字符串,要parse一下
+          payload.someData = typeof payload.someData == 'string' ? JSON.parse(payload.someData) : payload.someData
+        } catch (error) {
+        }
+      }
       state.currentScene = payload;
       this.commit('fdkk/setReset')
     },