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

+ 20 - 4
src/App.vue

@@ -14,15 +14,15 @@
   import FloorSwitch from '/@/components/basic/FloorSwitch.vue';
   import GuidePanel from '/@/components/custom/panel.vue';
   import browser from '/@/utils/browser';
-  import { useRtcStore } from './store/modules/rtc';
+  // import { useRtcStore } from './store/modules/rtc';
   import { useTourPlayer } from './hooks/userTourPlayer';
   import { KankanMetaDataType } from '/#/sdk';
-
+  import Dialog from '/@/components/basic/dialog';
   const { createTourPlayer } = useTourPlayer();
 
   const sceneStore = useSceneStore();
   const appStore = useAppStore();
-  const rtcStore = useRtcStore();
+  // const rtcStore = useRtcStore();
   const dataLoaded = ref(false);
   const scene$ = ref<Nullable<HTMLElement>>(null);
   const refMiniMap = ref<Nullable<string>>(null);
@@ -30,7 +30,7 @@
   const player = computed(() => appStore.player);
   const metadata = computed(() => sceneStore.metadata);
   const mode = computed(() => appStore.mode);
-  const isJoined = computed(() => rtcStore.isJoined);
+  // const isJoined = computed(() => rtcStore.isJoined);
   const isLoaded = computed(() => appStore.isLoaded);
   const controls = computed(() => {
     return metadata.value.controls;
@@ -130,6 +130,22 @@
       appStore.setFlying(false);
       appStore.setFloorId(targetPano.id);
     });
+    app.Scene.on('error', (data) => {
+      switch (data.code) {
+        case 5033:
+          Dialog.alert('该场景正在计算中,请稍后再试');
+          break;
+        case 5034:
+          Dialog.alert('服务端开小差,请稍后再试');
+          break;
+        case 5009:
+          Dialog.alert('服务端开小差,请稍后再试');
+          break;
+        case 5005:
+          Dialog.alert('服务端开小差,请稍后再试');
+          break;
+      }
+    });
   });
   // SDK global Event end
 

+ 1 - 1
src/components/chatRoom/controls/join.ts

@@ -1,5 +1,5 @@
 import consolaGlobalInstance from 'consola';
-import Dialog from '/@/components/basic/dialog';
+// import Dialog from '/@/components/basic/dialog';
 // import { getApp } from '/@/hooks/userApp';
 import { useRoom } from '/@/hooks/useRoom';
 import { useSocket } from '/@/hooks/userSocket';

+ 13 - 1
src/components/chatRoom/index.vue

@@ -345,7 +345,19 @@
   };
 
   const handleCreateShare = () => {
-    shareLink.value = location.href;
+    const search = new URLSearchParams();
+    search.set('isTour', '0');
+    search.set(
+      'vruserId',
+      `user_${browser.getURLParam('role')}${Math.floor(Math.random() * 100000000)}`,
+    );
+    search.set('role', 'customer');
+    search.set('name', '');
+    search.set('roomId', `${rtcStore.roomId}`);
+    search.set('m', browser.getURLParam('m'));
+    const url = new URL(location.href);
+    url.search = `?` + search.toString();
+    shareLink.value = url.toString();
   };
 
   const changeScene = (scene: Ref<SceneItemType>) => {

+ 6 - 2
src/hooks/useRoom.ts

@@ -41,14 +41,17 @@ interface roomParamsType {
   avatar: string;
 }
 
-function createNewURLEntry(params: roomParamsType) {
+function createNewURL(params: roomParamsType): string {
   let tempUrl = window.location.href;
   // ['mode', 'name', 'role', 'vruserId']
   Object.keys(params).forEach((item) => {
     tempUrl = browser.replaceQueryString(tempUrl, item, params[item]);
     console.log('tempUrl', tempUrl);
   });
-
+  return tempUrl;
+}
+function createNewURLEntry(params: roomParamsType) {
+  const tempUrl = createNewURL(params);
   history.replaceState(null, '', tempUrl);
 }
 
@@ -61,6 +64,7 @@ export function useRoom() {
     enterRoom,
     leaveRoom,
     createNewURLEntry,
+    createNewURL,
   };
 }