bill пре 2 година
родитељ
комит
51d5c0dfec
1 измењених фајлова са 22 додато и 13 уклоњено
  1. 22 13
      src/model/app.vue

+ 22 - 13
src/model/app.vue

@@ -34,8 +34,27 @@ export const Model = defineComponent({
   setup() {
     const scene = computed(() => modelProps.type !== fuseModel && modelProps.type)
     const url = ref("")
+    const setUrl = (newURL: string) => {
+      if (newURL !== url.value) {
+        setTimeout(() => {
+          const hook = (iframeRef.value?.contentWindow as any)?.beforeDestroy
+          if (hook) {
+            hook()
+            console.log("赋值1")
+            setTimeout(() => url.value = newURL, 300)
+          } else {
+            console.log("赋值2")
+            url.value = newURL
+          }
+        })
+      }
+    }
+
     watchEffect(() => {
-      if (!scene.value) return;
+      if (!scene.value) {
+        url.value = "";
+        return setUrl("");
+      }
       const type = scene.value.type
       const urls = {
         [SceneType.SWKK]: `/swkk/spg.html?m=${scene.value.num}`,
@@ -44,18 +63,7 @@ export const Model = defineComponent({
         [SceneType.SWSSMX]: `/swkk/spg.html?m=${scene.value.num}`,
         [SceneType.SWMX]: `index.html?caseId=${params.caseId}&modelId=${scene.value.num}&share=1#sign-model`
       }
-      if (urls[type] !== url.value) {
-        setTimeout(() => {
-          const hook = (iframeRef.value?.contentWindow as any)?.beforeDestroy
-          console.log(hook)
-          if (hook) {
-            hook()
-            setTimeout(() => url.value = urls[type], 300)
-          } else {
-            url.value = urls[type]
-          }
-        })
-      }
+      setUrl(urls[type])
     })
 
 
@@ -77,6 +85,7 @@ export const Model = defineComponent({
         let result: any = null, error = null
         try {
           result = await Promise.race([typePromise, modelPromise])
+          console.error(result)
         } catch (err: any) {
           error = err
         }