소스 검색

feat: 调整

rindy 3 년 전
부모
커밋
c2f40f58bf
4개의 변경된 파일49개의 추가작업 그리고 31개의 파일을 삭제
  1. 1 1
      src/components/Controls/Control.Mobile.vue
  2. 13 11
      src/components/Controls/Panel/Main.vue
  3. 30 19
      src/components/RTC/PageRtcLive.vue
  4. 5 0
      src/components/RTC/Trtccom.vue

+ 1 - 1
src/components/Controls/Control.Mobile.vue

@@ -8,6 +8,7 @@
 </template>
 
 <script setup>
+
 import { useStore } from "vuex";
 import { onMounted, watch, computed, ref, shallowRef, nextTick } from "vue";
 import { useApp, getApp } from "@/app";
@@ -24,7 +25,6 @@ import common from "@/utils/common";
 import { useMusicPlayer } from "@/utils/sound";
 
 const store = useStore();
-
 const musicPlayer = useMusicPlayer();
 const metadata = computed(() => store.getters["scene/metadata"]);
 const flying = computed(() => store.getters["flying"]);

+ 13 - 11
src/components/Controls/Panel/Main.vue

@@ -5,7 +5,7 @@
       :class="{ disabled: !showdaogou }"
       :isOpen="isOpen"
     >
-      <div @click="toggleOpen" class="menu color">
+      <div @click="toggleOpen" class="menu color" v-show="sync">
         <ul>
           <li
             @click.stop="onClickMenu(item)"
@@ -43,6 +43,8 @@ import { useApp, getApp } from "@/app";
 import * as apis from "@/apis/index.js";
 import browser from "@/utils/browser";
 
+const sync = ref(browser.getURLParam("sync"));
+
 const store = useStore();
 
 const isOpen = ref(false);
@@ -93,16 +95,16 @@ const tours = computed(() => store.getters["tour/tours"]);
 
 const menulist = computed(() => {
   let fff = [
-    {
-      icon: "help",
-      id: "help",
-      name: "帮助",
-    },
-    {
-      icon: "customer_service",
-      id: "kefu",
-      name: "客服",
-    },
+    // {
+    //   icon: "help",
+    //   id: "help",
+    //   name: "帮助",
+    // },
+    // {
+    //   icon: "customer_service",
+    //   id: "kefu",
+    //   name: "客服",
+    // },
   ];
 
   if (!browser.isMobile()) {

+ 30 - 19
src/components/RTC/PageRtcLive.vue

@@ -54,17 +54,17 @@
         ></div>
         <div v-if="role == 'leader'" class="members" @click="openMember"></div>
         <template v-if="role == 'leader'">
-        <div
-          v-if="!disableMic"
-          @click="handleMuteAduio"
-          :class="{ mic_off: audioMuted, disabled: !audioDeviceId }"
-          class="mic_on"
-        ></div>
-        <div
-          v-if="disableMic"
-          class="mic_no"
-          :class="{ disabled: !audioDeviceId }"
-        ></div>
+          <div
+            v-if="!disableMic"
+            @click="handleMuteAduio"
+            :class="{ mic_off: audioMuted, disabled: !audioDeviceId }"
+            class="mic_on"
+          ></div>
+          <div
+            v-if="disableMic"
+            class="mic_no"
+            :class="{ disabled: !audioDeviceId }"
+          ></div>
         </template>
         <!-- <div
           v-if="role == 'leader'"
@@ -152,18 +152,19 @@
                 </div>
                 <div class="name">{{ i.Nickname }}</div>
               </div>
-              <!-- <div class="button" v-if="user_info.Role == 'leader'">
+              <div class="button" v-if="user_info.Role == 'leader'">
                 <div
                   class="micBtn"
                   :class="i.IsWords ? 'ban_speak_on' : 'ban_speak_off'"
+                  :wo="i.IsWords"
                   @click="userCanSpeak(i)"
                 ></div>
-                <div
+                <!-- <div
                   class="micBtn"
                   :class="i.IsMuted ? 'mute_one_mic_off' : 'mute_one_mic_on'"
                   @click="onMemberMuted(i)"
-                ></div>
-              </div> -->
+                ></div> -->
+              </div>
             </div>
           </div>
         </div>
@@ -257,6 +258,10 @@ let getUrl = (href, queryArr) => {
     }
   });
 
+  if (href.indexOf("customer") != -1) {
+    return href.replace("&sync=1", "");
+  }
+
   return href;
 };
 const videoDeviceId = computed(() => store.getters["rtc/videoDeviceId"]);
@@ -421,7 +426,10 @@ const setUserJoin = async (res) => {
     UserId: res.user.UserId,
     text: "进入房间",
   };
-  chatList.value.push(data);
+  if(role.value == 'leader'){
+    chatList.value.push(data);
+  }
+  
   await nextTick();
   try {
     chatAutoScroll();
@@ -558,7 +566,10 @@ const onMemberLeave = async (res) => {
     UserId: res.user.UserId,
     text: "离开房间",
   };
-  chatList.value.push(data);
+  if(role.value == 'leader'){
+      chatList.value.push(data);
+  }
+  
   await nextTick();
   try {
     chatAutoScroll();
@@ -632,7 +643,7 @@ const startFollow = (app) => {
       emit("closeSocket");
       return;
     }
-
+  
     connectStatus.value = 1;
     if (role.value == "customer") {
       socket.value.emit("action", { type: "ask-currentscene" });
@@ -811,7 +822,7 @@ const startFollow = (app) => {
 };
 let onfollowData = (data) => {
   if (isJoined.value) {
-   socket.value.emit("sync", data);
+    socket.value.emit("sync", data);
   }
 };
 

+ 5 - 0
src/components/RTC/Trtccom.vue

@@ -169,6 +169,11 @@ async function createLocalStream() {
     });
 
     await localStream.initialize();
+
+    if(props.audioMuted){
+       localStream.muteAudio();
+    }
+
   } catch (error) {
     console.log(error, "createStream");
   }