| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, onMounted } from 'vue'; |
| | | 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'; |
| | | const domain = 'ycl.easyblog.vip:8443/' + id; |
| | | const options = { |
| | | roomName: 'test', |
| | | roomName: meetName, |
| | | width: width, |
| | | height: height, |
| | | parentNode: meet.value, |
| | |
| | | configOverwrite: { |
| | | prejoinConfig: { |
| | | enabled: false |
| | | }, |
| | | //禁用邮箱 |
| | | gravatar: { |
| | | disabled: true |
| | | }, |
| | | //禁用改名 |
| | | readOnlyName: true, |
| | | remoteVideoMenu: { |
| | | disabled: true, |
| | | disableKick: true, |
| | | disableGrantModerator: true |
| | | }, |
| | | disableRemoteMute: true, |
| | | //主持人选项 |
| | | participantsPane: { |
| | | enabled: true, |
| | | hideMoreActionsButton: true, |
| | | hideModeratorSettingsTab: true, |
| | | hideMuteAllButton: true, |
| | | }, |
| | | whiteboard: { |
| | | enabled: true |
| | | } |
| | | }, |
| | | toolbarButtons: ['whiteboard'] |
| | | toolbarButtons: ['whiteboard',], |
| | | userInfo: { |
| | | displayName: userName |
| | | } |
| | | }; |
| | | const api = new JitsiMeetExternalAPI(domain, options); |
| | | jitsiApi = new JitsiMeetExternalAPI(domain, options); |
| | | jitsiInit(); |
| | | |
| | | }); |
| | | |
| | | const jitsiInit = () => { |
| | | jitsiApi.addListener('readyToClose', () => { |
| | | |
| | | }); |
| | | } |
| | | |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
| | | <style lang="scss" scoped></style> |