tremble 3 лет назад
Родитель
Сommit
720d165a04
5 измененных файлов с 32 добавлено и 14 удалено
  1. 1 1
      .env
  2. 1 1
      .env.development
  3. 2 5
      .env.prod
  4. 27 6
      src/components/RTC/PageRtcLive.vue
  5. 1 1
      src/components/RTC/index.vue

+ 1 - 1
.env

@@ -7,7 +7,7 @@ VUE_APP_CDN_URL=https://4dkk.4dage.com/v4/www/
 VUE_APP_SDK_DIR=https://eurs3.4dkankan.com/v4/cdfg/sdk
 
 # socket地址
-VUE_SOCKET_URL=https://vr-admin.cdfmembers.com/
+VUE_APP_SOCKET_URL=https://vr-admin.cdfmembers.com/
 
 
 

+ 1 - 1
.env.development

@@ -8,7 +8,7 @@ VUE_APP_SDK_DIR=https://eurs3.4dkankan.com/v4/cdfg/sdk
 
 
 # socket地址
-VUE_SOCKET_URL=https://vr-admin.cdfmembers.com/
+VUE_APP_SOCKET_URL=https://vr-admin.cdfmembers.com/
 
 
 # 静态资源目录

+ 2 - 5
.env.prod

@@ -5,11 +5,6 @@ VUE_APP_CDN_URL=https://4dkk.4dage.com/v4/www/
 # sdk文件地址
 VUE_APP_SDK_DIR=https://eurs3.4dkankan.com/v4/cdfg/sdk
 
-
-# socket地址
-VUE_SOCKET_URL=https://vr-admin.cdfmembers.com/
-
-
 # 静态资源目录
 VUE_APP_STATIC_DIR=viewer
 
@@ -19,3 +14,5 @@ VUE_APP_REGION_URL=aws
 # 接口请求地址
 VUE_APP_APIS_URL=https://vr.cdfmembers.com/
 
+# socket地址
+VUE_APP_SOCKET_URL=https://vr-admin.cdfmembers.com/

+ 27 - 6
src/components/RTC/PageRtcLive.vue

@@ -87,11 +87,11 @@
                 <!-- <div class="outBtn iconfont iconremove"></div> -->
                 <!-- <div v-if="audioDevices.length>0" class="micBtn iconfont" @click="changeMedia('audio',hideMic)" :class="user_info.muted ?'iconmic_off':'iconmic_on'"></div>
                 <div v-else class="micBtn iconfont iconmic_off"></div> -->
-                <div class="micBtn mute_all_mic" :class="{ open_all_mic: !all_mute_mic }" ></div>
+                <div class="micBtn mute_all_mic" :class="{ open_all_mic: !all_mute_mic }"></div>
               </div>
             </div>
 
-            <div v-show="user_info.UserId != i.UserId && i.Role != 'leader'" class="memberItem" v-for="i in user_list" :key="i.UserId">
+            <div v-show="user_info.UserId != i.UserId && i.Role != 'leader'" class="memberItem" v-for="(i,idx) in user_list" :key="i.UserId">
               <div class="userMsg">
                 <div class="avatar">
                   <img :src="require('@/assets/images/rtcLive/avatar_small@2x.png')" alt="" />
@@ -101,7 +101,7 @@
               <div class="button" v-if="user_info.Role == 'leader'">
                 <div class="micBtn" :class="i.IsWords ? 'ban_speak_on' : 'ban_speak_off'" @click="userCanSpeak(i)"></div>
 
-                <div class="outBtn icon_remove" @click="userGetOut(i.UserId)"></div>
+                <div class="outBtn icon_remove" @click="userGetOut(i,idx)"></div>
                 <div class="micBtn" :class="i.IsMuted ? 'mute_one_mic_off' : 'mute_one_mic_on'" @click="onMemberMuted(i)"></div>
               </div>
             </div>
@@ -135,7 +135,8 @@ let chatAutoScroll = () => {
 };
 
 let createSocket = (config) => {
-  var socket = io(process.env.VUE_SOCKET_URL, {
+  console.log(process.env.VUE_APP_SOCKET_URL, "process.env.VUE_APP_SOCKET_URL");
+  var socket = io(process.env.VUE_APP_SOCKET_URL, {
     path: "/ws-sync",
     transports: ["websocket"],
   });
@@ -193,6 +194,17 @@ const all_mute_mic = ref(true);
 
 const chat$ = ref(null);
 
+const userGetOut = (item,i) => {
+  socket.value &&
+    socket.value.emit("action", {
+      type: "getout",
+      data: {
+        id:item.UserId
+      },
+    });
+    delete user_list.value[i]
+};
+
 const setUserWords = (res) => {
   if (user_info.value.Role == "leader") {
     user_list.value = res.members.reduce(function (tempArr, item) {
@@ -350,8 +362,8 @@ const openDialog = (str, link) => {
 };
 
 const onMemberMuted = (item) => {
-    item.IsMuted = !item.IsMuted;
-    socket.value.emit("action", { type: "users-muted", muted: item.IsMuted, userId: item.UserId });
+  item.IsMuted = !item.IsMuted;
+  socket.value.emit("action", { type: "users-muted", muted: item.IsMuted, userId: item.UserId });
 };
 
 const userCanSpeak = (item) => {
@@ -359,6 +371,13 @@ const userCanSpeak = (item) => {
   socket.value.emit("action", { type: "users-words", words: item.IsWords, userId: item.UserId });
 };
 
+const onGetOuT = (data) => {
+  if (data.id == user_info.UserId) {
+    emit("closeSocket");
+    Dialog.toast({ content: `你已被移除` });
+  }
+};
+
 const startFollow = (app) => {
   app.Connect.follow.start({ follow: role.value == "customer" });
   if (role.value == "customer") {
@@ -441,6 +460,8 @@ const startFollow = (app) => {
       Dialog.toast({ content: `房间未找到`, type: "error" });
     } else if (data.type == "danmumsg") {
       setReceiveMsg(data.data);
+    } else if (data.type == "getout") {
+      onGetOuT(data);
     } else if (data.type == "user-init") {
       app.Connect.follow.sync();
     } else if (data.type == "user-paint") {

+ 1 - 1
src/components/RTC/index.vue

@@ -4,7 +4,7 @@
       <dialogIndex @closeDialog="closeDialog" @confirmDialog="confirmDialog" v-if="dialog == 'dialogIndex'"></dialogIndex>
       <dialogShare :shareLink="shareLink" @closeDialog="closeDialog" v-if="dialog == 'dialogShare'"></dialogShare>
       <createdRoom v-if="showCreated" @closeCreated="closeCreated" @createdConfirm="createdConfirm()"></createdRoom>
-      <PageRtcLive @openDialog="openDialog" v-if="show"></PageRtcLive>
+      <PageRtcLive  @closeSocket="confirmDialog" @openDialog="openDialog" v-if="show"></PageRtcLive>
     </div>
   </transition>
 </template>