diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 2308c89..ff755fa 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -23,6 +23,7 @@ import UserVideo from '@/components/UserVideo'; import { role } from '@/config/role'; import { fixWebmDuration } from "webm-duration-fix-buffer"; import { getKeyOpenChildWindow, setKeyOpenChildWindow } from '@/utils/package/public'; +let isScreenCaptureStatus = false; const { confirm } = Modal; const { exec } = require('child_process'); const fs = require('fs').promises; @@ -552,17 +553,19 @@ const Meeting: React.FC = () => { chatListIten: item, } }) - setStatusList((res: any) => { - if (!res.userChatList) { - api.open({ - message: item.userName + '说:', - description: item.message, - duration: 3, - showProgress: true, - }); - } - return res - }) + if (!isScreenCaptureStatus) { + setStatusList((res: any) => { + if (!res.userChatList) { + api.open({ + message: item.userName + '说:', + description: item.message, + duration: 3, + showProgress: true, + }); + } + return res + }) + } chatScrollBotton() break; // 扩展操作 @@ -583,12 +586,12 @@ const Meeting: React.FC = () => { break; // 全员离开房间 case 'AllLeave': - message.success('管理员已结束会议!') + if (!isScreenCaptureStatus) message.success('管理员已结束会议!') leaveChannel(false) break; // 移出会议 case 'ForceExitRoom': - message.success('管理员已将你移出会议!') + if (!isScreenCaptureStatus) message.success('管理员已将你移出会议!') leaveChannel() break; // 更新视图模式 @@ -600,9 +603,9 @@ const Meeting: React.FC = () => { if (item.operUid && item.operUserName) { if (item.operUid !== userInfo.uid) { if (item.uid === userInfo.uid) { - message.success(`${item.operUserName}设置全员看你`) + if (!isScreenCaptureStatus) message.success(`${item.operUserName}设置全员看你`) } else { - message.success(`${item.operUserName}设置全员看${item.uname}`) + if (!isScreenCaptureStatus) message.success(`${item.operUserName}设置全员看${item.uname}`) } } } @@ -624,7 +627,7 @@ const Meeting: React.FC = () => { case 'OperMicr': if (item.operUid !== userInfo.uid) { if (item.user.uid === userInfo.uid) { - message.success(item.user.enableMicr ? '管理员已取消你的静音' : '你已被管理员静音') + if (!isScreenCaptureStatus) message.success(item.user.enableMicr ? '管理员已取消你的静音' : '你已被管理员静音') } } setAllUserListData('OperMicr', item) @@ -633,7 +636,7 @@ const Meeting: React.FC = () => { case 'OperCamera': if (item.operUid !== userInfo.uid) { if (item.user.uid === userInfo.uid) { - message.success(item.user.enableCamera ? '管理员已开启你的摄像头' : '管理员已关闭你摄像头') + if (!isScreenCaptureStatus) message.success(item.user.enableCamera ? '管理员已开启你的摄像头' : '管理员已关闭你摄像头') } } setAllUserListData('OperCamera', item) @@ -644,20 +647,20 @@ const Meeting: React.FC = () => { if (item.user.uid === item.uid) { if (item.user.uid === userInfo.uid) { await agora.allLeaveChannelEx() - message.success(`操作成功`) + if (!isScreenCaptureStatus) message.success(`操作成功`) await agora.updateChannelMediaOptions(item.user.isRoomManager) await postOpenMicrApi(item.user.isRoomManager, userInfo.uid, false) await postOpenCameraApi(false, userInfo.uid) // 不管身份如何改变都关闭摄像头 await stopScreenCapture() } else { - message.success(`${item.user.userName}已结束发言`) + if (!isScreenCaptureStatus) message.success(`${item.user.userName}已结束发言`) } } else { if (item.user.uid === userInfo.uid) { if (item.user.isRoomManager) { await agora.allLeaveChannelEx() } - message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`) + if (!isScreenCaptureStatus) message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`) await agora.updateChannelMediaOptions(item.user.isRoomManager) setCurrentRequestSpeakType(res => { if (res === 'video') { @@ -673,7 +676,7 @@ const Meeting: React.FC = () => { await stopScreenCapture() } else { - message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}${item.user.userName}为发言人`) + if (!isScreenCaptureStatus) message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}${item.user.userName}为发言人`) } } }) @@ -1577,6 +1580,7 @@ const Meeting: React.FC = () => { await allUserLook(user.screenShareId, user.userName) const isOpen = await getKeyOpenChildWindow('shareScreenWindow') setIsScreenCapture(true) + isScreenCaptureStatus = true window.electron.setViewStatus('hide') if (!isOpen) { window.electron.createChildWindow({ @@ -1667,6 +1671,7 @@ const Meeting: React.FC = () => { setFooterList(footerListTemplate) window.electron.closeChildWindow('shareScreenWindow') setKeyOpenChildWindow('shareScreenWindow', false) + isScreenCaptureStatus = false setIsScreenCapture(bool => { if (bool) { window.electron.setViewStatus('show')