yangjie #28

Merged
yangqiang merged 32 commits from yangjie into master 2024-10-29 15:15:48 +08:00
1 changed files with 21 additions and 26 deletions
Showing only changes of commit ba62fe4220 - Show all commits

View File

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