luohairen
2024-11-07 d0d825e09ffdb95e9c4edcc44eeff08c4b2a9c23
src/views/meet/index.vue
@@ -51,6 +51,7 @@
<script>
import { getStudentList } from '@/api/meet'
import Cookies from 'js-cookie'
export default {
  data () {
@@ -81,15 +82,27 @@
  methods: {
    muteEveryone () {
      this.jitsiApi.executeCommand('muteEveryone', 'audio')
      const h = this.$createElement;
      this.$notify({
        title: '提示',
        message: h('i', { style: 'color: teal'}, '已全体禁音')
      });
    },
    videoEveryone () {
      this.jitsiApi.executeCommand('muteEveryone', 'video')
      const h = this.$createElement;
      this.$notify({
        title: '提示',
        message: h('i', { style: 'color: teal'}, '已关闭全体视频')
      });
    },
    handleCommand (command) {
      this.sendMessage(JSON.stringify(command))
    },
    initWebSocket () {
      this.ws = new WebSocket('wss://www.kgmeet.com/websocket/' + 1)
      this.ws = new WebSocket('wss://www.kgmeet.com:18080/websocket/' + JSON.parse(Cookies.get('adminUserInfo')).id)
      let ws = this.ws
      ws.onopen = () => {
        console.log('WebSocket 连接成功')
@@ -265,13 +278,15 @@
    this.jitsiApi.addListener('readyToClose', () => {
      window.close()
    })
    // 初始化
    this.initWebSocket()
    // 每三秒更学员在线状态
    this.intervalId = setInterval(() => {
      this.getRoomInfo()
      // 发送心跳数据
      this.ws.send('ping')
    }, 2500)
    // 初始化
    this.initWebSocket()
  },
  beforeDestroy () {
    // 清除定时器,避免内存泄漏