From 50c328b3594885da4d97d87b301bce9e565ef330 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 09 八月 2024 16:10:56 +0800
Subject: [PATCH] feat:通过WebSokcet根据教师会议命令执行操作

---
 src/views/meet/index.vue |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/src/views/meet/index.vue b/src/views/meet/index.vue
index 7f9d13d..36c5d42 100644
--- a/src/views/meet/index.vue
+++ b/src/views/meet/index.vue
@@ -5,13 +5,13 @@
 </template>
 
 <script setup>
-import {ref, onMounted} from 'vue';
-import {useRoute} from 'vue-router';
-
+import { ref, watch, onMounted } from 'vue';
+import { useRoute } from 'vue-router';
+import useWebScoket from "@/hooks/useWebScoket.js";
 const route = useRoute();
 const meet = ref(null);
 
-const {meetName, id, userName, userCode} = route.query;
+const { meetName, id, userName, userCode } = route.query;
 let jitsiApi = null;
 onMounted(() => {
   const width = window.innerWidth;
@@ -105,6 +105,8 @@
   jitsiApi = new JitsiMeetExternalAPI(domain, options);
   jitsiInit();
 
+  // 杩炴帴webscoket
+  connect();
 });
 
 const jitsiInit = () => {
@@ -113,6 +115,34 @@
   });
 }
 
+const mute = () => {
+  jitsiApi.executeCommand('toggleAudio');
+}
+const kickOut = () => {
+  jitsiApi.executeCommand('hangup');
+}
+
+const { status, message, error, connect, disconnect, sendMessage } = useWebScoket({
+  url: 'ws://127.0.0.1:8000/websocket/' + 1,
+  heartBeatData: 'ping'
+});
+
+watch(
+  () => message.value,
+  (msg) => {
+    console.log('msg', msg.commend);
+    if (msg.commend === 'kickOut') {
+      kickOut();
+    }
+    if (msg.commend === 'mute') {
+      mute();
+    }
+    if (msg.commend === 'openCamera') {
+      alert("鍒囨崲鎽勫儚澶�")
+    }
+  }
+);
+
 
 </script>
 

--
Gitblit v1.8.0