From 2b6afe2654aeddee64eaf0f5213adbb5032ce200 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 08 十月 2024 10:37:34 +0800
Subject: [PATCH] 新仓库
---
src/views/meet/index.vue | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 117 insertions(+), 3 deletions(-)
diff --git a/src/views/meet/index.vue b/src/views/meet/index.vue
index ce1a6d0..24ff712 100644
--- a/src/views/meet/index.vue
+++ b/src/views/meet/index.vue
@@ -5,11 +5,17 @@
</template>
<script setup>
-import { ref, onMounted } from 'vue';
+import {ref, watch, onMounted} from 'vue';
import {useRoute} from 'vue-router';
+import useWebScoket from "@/hooks/useWebScoket.js";
+import {storeToRefs} from 'pinia';
+import {useUserStore} from '@/store/index.js';
+
const route = useRoute();
const meet = ref(null);
+const userStore = useUserStore();
+const {userInfo} = storeToRefs(userStore);
const {meetName, id, userName, userCode} = route.query;
let jitsiApi = null;
onMounted(() => {
@@ -26,10 +32,96 @@
prejoinConfig: {
enabled: false
},
+ //绂佺敤閭
+ gravatar: {
+ disabled: true
+ },
+ // 鎺у埗椤堕儴鏍囬浼氳淇℃伅鏍囩鐨勫彲瑙佹�у拰琛屼负銆�
+ // 濡傛灉鏍囩鐨� ID 涓嶅湪涓婅堪涓や釜鏁扮粍涓殑浠讳綍涓�涓腑锛屽垯瀹冨湪鏍囬涓婃牴鏈笉鍙銆�
+ conferenceInfo: {
+ // 杩欎簺鏍囩涓嶄細涓庡伐鍏风涓�璧烽殣钘忋��
+ alwaysVisible: ['recording'],
+ // 杩欎簺鏍囩灏嗕笌宸ュ叿绠辨寜閽竴璧疯嚜鍔ㄩ殣钘忋��
+ autoHide: [
+ // 'raised-hands-count',
+ 'subject',
+ 'conference-timer',
+ 'participants-count',
+ 'e2ee',
+ 'video-quality',
+ 'insecure-room',
+ 'highlight-moment',
+ 'top-panel-toggle',
+ ]
+ },
+ ModeratorIndicator: true,
+ startSilent: true,
+ //绂佺敤鏀瑰悕
+ readOnlyName: true,
+ //鍙備細鑰呭悕鍗�
+ remoteVideoMenu: {
+ disabled: false,
+ disableKick: true,
+ disableGrantModerator: true,
+ disabledDemote: false
+ },
+ // 鑷畾涔夋寜閽�
+ toolbarButtons: [
+ // 鎽勫儚澶�
+ 'camera',
+ // 鑱婂ぉ
+ 'chat',
+ // 鍏变韩
+ 'desktop',
+ 'download',
+ 'fullscreen',
+ 'hangup',
+ 'highlight',
+ 'linktosalesforce',
+ 'livestreaming',
+ 'microphone',
+ 'noisesuppression',
+ 'raisehand',
+ 'recording',
+ 'select-background',
+ 'settings',
+ 'shareaudio',
+ 'sharedvideo',
+ 'shortcuts',
+ 'stats',
+ 'tileview',
+ 'toggle-camera',
+ // 'closedcaptions',
+ // 'embedmeeting',
+ // 'etherpad',
+ // 'feedback',
+ // 'filmstrip',
+ // 'help',
+ // 'invite',
+ // 'participants-pane',
+ // 'profile',
+ // 'security',
+ 'videoquality',
+ 'whiteboard'
+ ],
+ // 绂佺敤閭�璇�
+ disableInviteFunctions: true,
+ //绂佺敤鍏ㄩ儴闈欓煶
+ disableRemoteMute: true,
+ //涓绘寔浜洪�夐」
+ participantsPane: {
+ enabled: false,
+ hideMoreActionsButton: true,
+ hideModeratorSettingsTab: true,
+ hideMuteAllButton: true,
+ },
+ //鍙栨秷閫�鍑洪〉闈�
+ enableClosePage: false,
whiteboard: {
- enabled: false
+ enabled: true
}
},
+
userInfo: {
displayName: userName
}
@@ -37,14 +129,36 @@
jitsiApi = new JitsiMeetExternalAPI(domain, options);
jitsiInit();
+ // 杩炴帴webscoket
+ connect();
});
const jitsiInit = () => {
jitsiApi.addListener('readyToClose', () => {
-
+ window.close()
});
}
+const {status, message, error, connect, disconnect, sendMessage} = useWebScoket({
+ url: 'ws://127.0.0.1:8000/websocket/' + userInfo._rawValue.id,
+ heartBeatData: 'ping'
+});
+
+watch(
+ () => message.value,
+ (msg) => {
+ console.log('msg', msg.commend);
+ if (msg.commend === 'kickOut') {
+ jitsiApi.executeCommand('hangup');
+ }
+ if (msg.commend === 'mute') {
+ jitsiApi.executeCommand('toggleAudio');
+ }
+ if (msg.commend === 'openCamera') {
+ jitsiApi.executeCommand('toggleVideo');
+ }
+ }
+);
</script>
--
Gitblit v1.8.0