fuliqi
2024-07-26 649cdc616e19602d7bfb9a1d825580b3c38a6e64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<template>
  <div class="meet-container w-screen h-screen">
    <div id="meet" ref="meet"></div>
  </div>
</template>
 
<script setup>
import {ref, onMounted} from 'vue';
import {useRoute} from 'vue-router';
 
const route = useRoute();
const meet = ref(null);
 
const {meetName, id, userName, userCode} = route.query;
let jitsiApi = null;
onMounted(() => {
  const width = window.innerWidth;
  const height = window.innerHeight;
  const domain = 'ycl.easyblog.vip:8443/' + id;
  const options = {
    roomName: meetName,
    width: width,
    height: height,
    parentNode: meet.value,
    lang: 'zh_CN',
    configOverwrite: {
      prejoinConfig: {
        enabled: false
      },
      //禁用邮箱
      gravatar: {
        disabled: true
      },
      //禁用改名
      readOnlyName: true,
      //参会者名单
      remoteVideoMenu: {
        disabled: false,
        disableKick: true,
        disableGrantModerator: true,
        disabledDemote: false
      },
      // 自定义按钮
      // 自定义按钮
      toolbarButtons: [
        // 摄像头
        'camera',
        // 聊天
        'chat',
        // 'closedcaptions',
        // 共享
        'desktop',
        'download',
        // 'embedmeeting',
        // 'etherpad',
        // 'feedback',
        // 'filmstrip',
        'fullscreen',
        'hangup',
        // 'help',
        'highlight',
        // 'invite',
        'linktosalesforce',
        'livestreaming',
        'microphone',
        'noisesuppression',
        // 'participants-pane',
        // 'profile',
        // 'raisehand',
        'recording',
        // 'security',
        'select-background',
        'settings',
        'shareaudio',
        'sharedvideo',
        'shortcuts',
        'stats',
        'tileview',
        'toggle-camera',
        // 'videoquality',
        'whiteboard'
      ],
      // 禁用邀请
      disableInviteFunctions: true,
      //禁用全部静音
      disableRemoteMute: true,
      //主持人选项
      participantsPane: {
        enabled: false,
        hideMoreActionsButton: true,
        hideModeratorSettingsTab: true,
        hideMuteAllButton: true,
      },
      //取消退出页面
      enableClosePage: false,
      whiteboard: {
        enabled: true
      }
    },
 
    userInfo: {
      displayName: userName
    }
  };
  jitsiApi = new JitsiMeetExternalAPI(domain, options);
  jitsiInit();
 
});
 
const jitsiInit = () => {
  jitsiApi.addListener('readyToClose', () => {
    window.close()
  });
}
 
 
</script>
 
<style lang="scss" scoped></style>