This commit is contained in:
yj 2024-10-25 16:15:54 +08:00
parent 48909d9a63
commit ba62fe4220
1 changed files with 21 additions and 26 deletions

View File

@ -23,7 +23,6 @@ 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;
@ -553,7 +552,6 @@ const Meeting: React.FC = () => {
chatListIten: item,
}
})
if (!isScreenCaptureStatus) {
setStatusList((res: any) => {
if (!res.userChatList) {
api.open({
@ -565,7 +563,6 @@ const Meeting: React.FC = () => {
}
return res
})
}
chatScrollBotton()
break;
// 扩展操作
@ -586,12 +583,12 @@ const Meeting: React.FC = () => {
break;
// 全员离开房间
case 'AllLeave':
if (!isScreenCaptureStatus) message.success('管理员已结束会议!')
message.success('管理员已结束会议!')
leaveChannel(false)
break;
// 移出会议
case 'ForceExitRoom':
if (!isScreenCaptureStatus) message.success('管理员已将你移出会议!')
message.success('管理员已将你移出会议!')
leaveChannel()
break;
// 更新视图模式
@ -603,9 +600,9 @@ const Meeting: React.FC = () => {
if (item.operUid && item.operUserName) {
if (item.operUid !== userInfo.uid) {
if (item.uid === userInfo.uid) {
if (!isScreenCaptureStatus) message.success(`${item.operUserName}设置全员看你`)
message.success(`${item.operUserName}设置全员看你`)
} else {
if (!isScreenCaptureStatus) message.success(`${item.operUserName}设置全员看${item.uname}`)
message.success(`${item.operUserName}设置全员看${item.uname}`)
}
}
}
@ -627,7 +624,7 @@ const Meeting: React.FC = () => {
case 'OperMicr':
if (item.operUid !== userInfo.uid) {
if (item.user.uid === userInfo.uid) {
if (!isScreenCaptureStatus) message.success(item.user.enableMicr ? '管理员已取消你的静音' : '你已被管理员静音')
message.success(item.user.enableMicr ? '管理员已取消你的静音' : '你已被管理员静音')
}
}
setAllUserListData('OperMicr', item)
@ -636,7 +633,7 @@ const Meeting: React.FC = () => {
case 'OperCamera':
if (item.operUid !== userInfo.uid) {
if (item.user.uid === userInfo.uid) {
if (!isScreenCaptureStatus) message.success(item.user.enableCamera ? '管理员已开启你的摄像头' : '管理员已关闭你摄像头')
message.success(item.user.enableCamera ? '管理员已开启你的摄像头' : '管理员已关闭你摄像头')
}
}
setAllUserListData('OperCamera', item)
@ -647,20 +644,20 @@ const Meeting: React.FC = () => {
if (item.user.uid === item.uid) {
if (item.user.uid === userInfo.uid) {
await agora.allLeaveChannelEx()
if (!isScreenCaptureStatus) message.success(`操作成功`)
message.success(`操作成功`)
await agora.updateChannelMediaOptions(item.user.isRoomManager)
await postOpenMicrApi(item.user.isRoomManager, userInfo.uid, false)
await postOpenCameraApi(false, userInfo.uid) // 不管身份如何改变都关闭摄像头
await stopScreenCapture()
} else {
if (!isScreenCaptureStatus) message.success(`${item.user.userName}已结束发言`)
message.success(`${item.user.userName}已结束发言`)
}
} else {
if (item.user.uid === userInfo.uid) {
if (item.user.isRoomManager) {
await agora.allLeaveChannelEx()
}
if (!isScreenCaptureStatus) message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`)
message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`)
await agora.updateChannelMediaOptions(item.user.isRoomManager)
setCurrentRequestSpeakType(res => {
if (res === 'video') {
@ -676,7 +673,7 @@ const Meeting: React.FC = () => {
await stopScreenCapture()
} else {
if (!isScreenCaptureStatus) message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}${item.user.userName}为发言人`)
message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}${item.user.userName}为发言人`)
}
}
})
@ -1580,7 +1577,6 @@ 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({
@ -1671,7 +1667,6 @@ const Meeting: React.FC = () => {
setFooterList(footerListTemplate)
window.electron.closeChildWindow('shareScreenWindow')
setKeyOpenChildWindow('shareScreenWindow', false)
isScreenCaptureStatus = false
setIsScreenCapture(bool => {
if (bool) {
window.electron.setViewStatus('show')