yangjie #28
|
|
@ -23,6 +23,7 @@ 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;
|
||||||
|
|
@ -552,6 +553,7 @@ 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({
|
||||||
|
|
@ -563,6 +565,7 @@ const Meeting: React.FC = () => {
|
||||||
}
|
}
|
||||||
return res
|
return res
|
||||||
})
|
})
|
||||||
|
}
|
||||||
chatScrollBotton()
|
chatScrollBotton()
|
||||||
break;
|
break;
|
||||||
// 扩展操作
|
// 扩展操作
|
||||||
|
|
@ -583,12 +586,12 @@ const Meeting: React.FC = () => {
|
||||||
break;
|
break;
|
||||||
// 全员离开房间
|
// 全员离开房间
|
||||||
case 'AllLeave':
|
case 'AllLeave':
|
||||||
message.success('管理员已结束会议!')
|
if (!isScreenCaptureStatus) message.success('管理员已结束会议!')
|
||||||
leaveChannel(false)
|
leaveChannel(false)
|
||||||
break;
|
break;
|
||||||
// 移出会议
|
// 移出会议
|
||||||
case 'ForceExitRoom':
|
case 'ForceExitRoom':
|
||||||
message.success('管理员已将你移出会议!')
|
if (!isScreenCaptureStatus) message.success('管理员已将你移出会议!')
|
||||||
leaveChannel()
|
leaveChannel()
|
||||||
break;
|
break;
|
||||||
// 更新视图模式
|
// 更新视图模式
|
||||||
|
|
@ -600,9 +603,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) {
|
||||||
message.success(`${item.operUserName}设置全员看你`)
|
if (!isScreenCaptureStatus) message.success(`${item.operUserName}设置全员看你`)
|
||||||
} else {
|
} 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':
|
case 'OperMicr':
|
||||||
if (item.operUid !== userInfo.uid) {
|
if (item.operUid !== userInfo.uid) {
|
||||||
if (item.user.uid === userInfo.uid) {
|
if (item.user.uid === userInfo.uid) {
|
||||||
message.success(item.user.enableMicr ? '管理员已取消你的静音' : '你已被管理员静音')
|
if (!isScreenCaptureStatus) message.success(item.user.enableMicr ? '管理员已取消你的静音' : '你已被管理员静音')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setAllUserListData('OperMicr', item)
|
setAllUserListData('OperMicr', item)
|
||||||
|
|
@ -633,7 +636,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) {
|
||||||
message.success(item.user.enableCamera ? '管理员已开启你的摄像头' : '管理员已关闭你摄像头')
|
if (!isScreenCaptureStatus) message.success(item.user.enableCamera ? '管理员已开启你的摄像头' : '管理员已关闭你摄像头')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setAllUserListData('OperCamera', item)
|
setAllUserListData('OperCamera', item)
|
||||||
|
|
@ -644,20 +647,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()
|
||||||
message.success(`操作成功`)
|
if (!isScreenCaptureStatus) 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 {
|
||||||
message.success(`${item.user.userName}已结束发言`)
|
if (!isScreenCaptureStatus) 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()
|
||||||
}
|
}
|
||||||
message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`)
|
if (!isScreenCaptureStatus) 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') {
|
||||||
|
|
@ -673,7 +676,7 @@ const Meeting: React.FC = () => {
|
||||||
|
|
||||||
await stopScreenCapture()
|
await stopScreenCapture()
|
||||||
} else {
|
} 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)
|
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({
|
||||||
|
|
@ -1667,6 +1671,7 @@ 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')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue