|
@@ -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
|
|
|
}
|