gemercheung 2 年之前
父节点
当前提交
9e8dfa067b

+ 1 - 1
.env.development

@@ -3,7 +3,7 @@ VITE_APP_RESOURCE_URL=https://4dkk.4dage.com/
 # 静态资源地址
 VITE_APP_CDN_URL=https://4dkk.4dage.com/v4/www/
 # sdk文件地址
-VITE_APP_SDK_DIR=https://4dkk.4dage.com/v4/sdk/4.7.6
+VITE_APP_SDK_DIR=https://4dkk.4dage.com/v4/sdk/4.7.9
 # VITE_APP_SOCKET_URL=ws://127.0.0.1:8889
 VITE_APP_SOCKET_URL=wss://testws.4dkankan.com
 # VITE_APP_SOCKET_URL=wss://221.4.210.172:16666

+ 1 - 1
.env.home.prod

@@ -3,7 +3,7 @@ VITE_APP_RESOURCE_URL=https://4dkk.4dage.com/
 # 静态资源地址
 VITE_APP_CDN_URL=https://4dkk.4dage.com/v4/www/
 # sdk文件地址
-VITE_APP_SDK_DIR=https://4dkk.4dage.com/v4/sdk/4.5.0
+VITE_APP_SDK_DIR=https://4dkk.4dage.com/v4/sdk/4.7.9
 # VITE_APP_SOCKET_URL=wss://ws.gemer.xyz
 VITE_APP_SOCKET_URL=wss://ws.4dkankan.com
 # VITE_APP_SOCKET_URL=wss://221.4.210.172:16666

+ 1 - 1
.env.home.test

@@ -3,7 +3,7 @@ VITE_APP_RESOURCE_URL=https://4dkk.4dage.com/
 # 静态资源地址
 VITE_APP_CDN_URL=https://4dkk.4dage.com/v4/www/
 # sdk文件地址
-VITE_APP_SDK_DIR=https://4dkk.4dage.com/v4/sdk/4.7.6
+VITE_APP_SDK_DIR=https://4dkk.4dage.com/v4/sdk/4.7.9
 # VITE_APP_SOCKET_URL=wss://ws.gemer.xyz
 VITE_APP_SOCKET_URL=wss://testws.4dkankan.com
 # VITE_APP_SOCKET_URL=wss://221.4.210.172:16666

+ 30 - 2
src/App.vue

@@ -24,7 +24,8 @@
   import { LocaleType } from '/#/config';
   import { useI18n } from '/@/hooks/useI18n';
   import BaseDialog from '/@/components/chatRoom/dialog/base.vue';
-
+  import PasswordDialog from '/@/components/chatRoom/dialog/password.vue';
+  import { useRoom } from './hooks/useRoom';
   const { createTourPlayer } = useTourPlayer();
   const showDebug = ref(Number(import.meta.env.VITE_SHOW_DEBUGPANEL) === 1);
   const { t } = useI18n();
@@ -53,6 +54,8 @@
   const mode = computed(() => appStore.mode);
   // const isJoined = computed(() => rtcStore.isJoined);
   const isLoaded = computed(() => appStore.isLoaded);
+  const showPasswordDialog = ref(false);
+
   const controls = computed(() => {
     return metadata.value.controls;
   });
@@ -274,6 +277,19 @@
       // appStore.setMode(name);
     }
   };
+  const handlePasswordConfirm = async () => {
+    showPasswordDialog.value = false;
+  };
+  watchEffect(() => {
+    if (unref(isTourMode)) {
+      const { room } = useRoom();
+      console.log('room', room);
+      if (unref(room)?.takeLookLock === 1) {
+        showPasswordDialog.value = true;
+        return;
+      }
+    }
+  });
 </script>
 
 <template>
@@ -282,7 +298,11 @@
       {{ t('base.debuginfo') }}:公告,当前测试最新: {{ test_version }}, 当前满员条件:
       {{ maxNumber }}
     </span> -->
-    <span> {{ t('base.debuginfo') }}:公告,当前测试1.1.0-20230329-05 </span>
+    <span>
+      {{ t('base.debuginfo') }}:公告,测试1.1.0-0330-01,角色:{{ rtcStore.role }} rId:{{
+        rtcStore.roomId || browser.getURLParam('roomId')
+      }}
+    </span>
     <span class="close" @click.stop="showDebug = false">X</span>
   </div>
   <LoadingLogo :thumb="true" />
@@ -311,6 +331,14 @@
       <!-- 多楼层 end -->
       <!-- panel start-->
       <GuidePanel v-if="isTourMode" />
+
+      <PasswordDialog
+        v-if="isTourMode"
+        :is-single="true"
+        :show="showPasswordDialog"
+        @confirm-dialog="handlePasswordConfirm"
+        @close-dialog="handlePasswordConfirm"
+      />
       <!-- panel end -->
     </template>
   </div>

+ 13 - 4
src/components/chatRoom/dialog/password.vue

@@ -23,7 +23,7 @@
         </div>
 
         <div class="created_btn">
-          <div class="created_cancel" @click="closeCreated">{{ t('base.cancel') }}</div>
+          <div class="created_cancel" v-if="!isSingle" @click="closeCreated">{{ t('base.cancel') }}</div>
           <div class="created_confirm" @click="createdConfirm">{{ t('base.confirm') }}</div>
         </div>
       </div>
@@ -37,7 +37,7 @@
   import md5 from 'crypto-js/md5';
   import Dialog from '/@/components/basic/dialog';
   import { useI18n } from '/@/hooks/useI18n';
-
+  import browser from '/@/utils/browser';
   // import { useSocket } from '/@/hooks/userSocket';
   import VOtpInput from 'vue3-otp-input';
   import { useRoom } from '/@/hooks/useRoom';
@@ -57,6 +57,10 @@
       type: Boolean,
       default: false,
     },
+    isSingle: {
+      type: Boolean,
+      default: false,
+    }
   });
   watchEffect(() => {
     ifShow.value = props.show;
@@ -70,7 +74,11 @@
     const { validPassRoom } = useRoom();
     if (unref(password).length > 0 && unref(password).length === 4) {
       const encyrptPassword = md5(unref(password)).toString();
-      const res = await validPassRoom(unref(roomId), encyrptPassword);
+      let rid = unref(roomId);
+      if (!rid) {
+        rid = browser.getURLParam('roomId');
+      }
+      const res = await validPassRoom(rid, encyrptPassword);
       if (res) {
         emit('confirmDialog');
       } else {
@@ -92,6 +100,7 @@
     height: 100%;
     // background: rgba(0, 0, 0, 0.5);
     background: transparent;
+    overflow: hidden;
     position: fixed;
     left: 0;
     top: 0;
@@ -292,7 +301,7 @@
       background: rgba(46, 46, 46, 0.9);
       text-align: center;
       caret-color: #ed5d18;
-      &::placeholder{
+      &::placeholder {
         font-size: 22px;
       }
     }

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

@@ -146,6 +146,7 @@
   <CreatedName :show="showCreateNameDialog" @confirm-dialog="handleNameConfirm" />
   <PasswordDialog
     :show="showPasswordDialog"
+    :is-single="true"
     @confirm-dialog="handlePasswordConfirm"
     @close-dialog="closeSocket"
   />

+ 6 - 3
src/components/custom/panel.vue

@@ -49,9 +49,12 @@
 
   const showScenes = ref(false);
   const { hasTours } = useTourPlayer();
-  const panelShow = computed(
-    () => unref(hasTours) || unref(sceneList).length > 1 || unref(hasMusic),
-  );
+  // const panelShow = computed(
+  //   () => unref(hasTours) || unref(sceneList).length > 1 || unref(hasMusic),
+  // );
+  const panelShow = computed(() => unref(sceneList).length > 1 || unref(hasMusic));
+
+  console.log('panelShow', unref(panelShow));
 
   function handlePlayTours() {
     const { player, playing } = useTourPlayer();

+ 3 - 0
src/hooks/useRoom.ts

@@ -130,11 +130,14 @@ export const enterRoom = async () => {
 
 export const leaveRoom = async () => {
   if (!isLeader) return;
+  const rtcStore = useRtcStore();
+  const userID = rtcStore.userId || browser.getURLParam('vruserId');
   await shopAxios.get('/takelook/inOrOutRoom', {
     params: {
       type: 1,
       role: 'leader',
       roomId,
+      userId: userID,
     },
   });
 };