Jelajahi Sumber

fix: 修复初始化报错问题

rindy 2 tahun lalu
induk
melakukan
b107410038
1 mengubah file dengan 38 tambahan dan 15 penghapusan
  1. 38 15
      src/components/chatRoom/index.vue

+ 38 - 15
src/components/chatRoom/index.vue

@@ -315,6 +315,20 @@
     });
   };
 
+  const sceneInit = (app,val) =>{
+      console.log('初始化同屏', unref(val[0]), unref(val[1]));
+      if (unref(val[0])) {
+        if (unref(isNativeLeader)) {
+          app.Connect.follow.start({ follow: false });
+        } else {
+          console.log('customer-follow');
+          app.Connect.follow.start({ follow: true });
+        }
+        app.Connect.follow.on('data', leaderSync);
+        app.Connect.paint.on('data', leaderPaint);
+      }
+  }
+
   onMounted(async () => {
     watch(
       () => isLoaded,
@@ -334,21 +348,30 @@
       () => [isJoined, isNativeLeader],
       async (val) => {
         try {
-          console.log('初始化同屏', unref(val[0]), unref(val[1]));
-          if (unref(val[0])) {
-            const app = await useApp();
-            if (unref(isNativeLeader)) {
-              setTimeout(() => {
-                app.Connect.follow.start({ follow: false });
-              }, 1000);
-            } else {
-              console.log('customer-follow');
-              setTimeout(() => {
-                app.Connect.follow.start({ follow: true });
-              }, 1000);
-            }
-            app.Connect.follow.on('data', leaderSync);
-            app.Connect.paint.on('data', leaderPaint);
+          // console.log('初始化同屏', unref(val[0]), unref(val[1]));
+          // if (unref(val[0])) {
+          //   const app = await useApp();
+
+          //   app.Scene.
+
+          //   if (unref(isNativeLeader)) {
+          //     setTimeout(() => {
+          //       app.Connect.follow.start({ follow: false });
+          //     }, 1000);
+          //   } else {
+          //     console.log('customer-follow');
+          //     setTimeout(() => {
+          //       app.Connect.follow.start({ follow: true });
+          //     }, 1000);
+          //   }
+          //   app.Connect.follow.on('data', leaderSync);
+          //   app.Connect.paint.on('data', leaderPaint);
+          // }
+          const app = await useApp();
+          if (app.Scene.loaded) {
+            sceneInit(app,val)
+          } else {
+            app.Scene.on('loaded',()=>sceneInit(app,val))
           }
         } catch (error) {
           console.log('error', error);