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