龚焕茏
2024-08-09 50c328b3594885da4d97d87b301bce9e565ef330
feat:通过WebSokcet根据教师会议命令执行操作
1个文件已修改
38 ■■■■ 已修改文件
src/views/meet/index.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>