yangjie #47
|
|
@ -194,6 +194,7 @@ const Meeting: React.FC = () => {
|
||||||
const [isShare, setIsShare] = useState<any>(null)
|
const [isShare, setIsShare] = useState<any>(null)
|
||||||
const [isSharePopConfirm, setIsSharePopConfirm] = useState(false)
|
const [isSharePopConfirm, setIsSharePopConfirm] = useState(false)
|
||||||
const [_isNetworkDisconnected, setIsNetworkDisconnected] = useState(false)
|
const [_isNetworkDisconnected, setIsNetworkDisconnected] = useState(false)
|
||||||
|
const [isAgoraDisconnected, setIsAgoraDisconnected] = useState(false)
|
||||||
const [isShareUser, setIsShareUser] = useState<any>(null)
|
const [isShareUser, setIsShareUser] = useState<any>(null)
|
||||||
const [currentLookUserStatus, setCurrentLookUserStatus] = useState<0 | 1 | 2 | 3 | 4>(1)
|
const [currentLookUserStatus, setCurrentLookUserStatus] = useState<0 | 1 | 2 | 3 | 4>(1)
|
||||||
const [commonlyChatList] = useState<any>([
|
const [commonlyChatList] = useState<any>([
|
||||||
|
|
@ -216,6 +217,7 @@ const Meeting: React.FC = () => {
|
||||||
const msgTips = '您不是管理员或发言人,无法开启此功能!'
|
const msgTips = '您不是管理员或发言人,无法开启此功能!'
|
||||||
const channel = new BroadcastChannel('meeting_channel');
|
const channel = new BroadcastChannel('meeting_channel');
|
||||||
let storeDevice: any;
|
let storeDevice: any;
|
||||||
|
let agoraTime: NodeJS.Timeout;
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
window.electron.createChildWindow('hide')
|
window.electron.createChildWindow('hide')
|
||||||
let time: NodeJS.Timeout;
|
let time: NodeJS.Timeout;
|
||||||
|
|
@ -600,6 +602,30 @@ const Meeting: React.FC = () => {
|
||||||
}
|
}
|
||||||
}, [currentVideoId, isShare]);
|
}, [currentVideoId, isShare]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (isAgoraDisconnected) {
|
||||||
|
agoraTime = setTimeout(() => {
|
||||||
|
confirm({
|
||||||
|
keyboard: false,
|
||||||
|
title: '提示',
|
||||||
|
icon: <ExclamationCircleFilled />,
|
||||||
|
content: `重连失败,请退出房间重试!`,
|
||||||
|
centered: true,
|
||||||
|
okText: '退出',
|
||||||
|
wrapClassName: 'hideCancelText',
|
||||||
|
cancelText: '',
|
||||||
|
async onOk() {
|
||||||
|
leaveChannel()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
clearTimeout(agoraTime)
|
||||||
|
}, 1000 * 60);
|
||||||
|
} else {
|
||||||
|
clearTimeout(agoraTime)
|
||||||
|
}
|
||||||
|
return () => clearTimeout(agoraTime);
|
||||||
|
}, [isAgoraDisconnected]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
window.electron.onSignalr(async (_e: any, item: any) => {
|
window.electron.onSignalr(async (_e: any, item: any) => {
|
||||||
const setting = JSON.parse(storage.getItem('setting') as string)
|
const setting = JSON.parse(storage.getItem('setting') as string)
|
||||||
|
|
@ -1261,10 +1287,12 @@ const Meeting: React.FC = () => {
|
||||||
|
|
||||||
} else if (state === 3) {
|
} else if (state === 3) {
|
||||||
meetingDisconnectedRef.current.changeModal(false)
|
meetingDisconnectedRef.current.changeModal(false)
|
||||||
|
setIsAgoraDisconnected(false)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onConnectionLost: () => {
|
onConnectionLost: () => {
|
||||||
meetingDisconnectedRef.current.changeModal(true)
|
meetingDisconnectedRef.current.changeModal(true)
|
||||||
|
setIsAgoraDisconnected(true)
|
||||||
setIsScreenCapture(bool => {
|
setIsScreenCapture(bool => {
|
||||||
if (bool) {
|
if (bool) {
|
||||||
setIsNetworkDisconnected(true)
|
setIsNetworkDisconnected(true)
|
||||||
|
|
@ -1979,6 +2007,7 @@ const Meeting: React.FC = () => {
|
||||||
if (e.value == true) {
|
if (e.value == true) {
|
||||||
message.success('网络已连接。')
|
message.success('网络已连接。')
|
||||||
meetingDisconnectedRef.current.changeModal(false)
|
meetingDisconnectedRef.current.changeModal(false)
|
||||||
|
setIsAgoraDisconnected(false)
|
||||||
async function setUserStatus(res: any) {
|
async function setUserStatus(res: any) {
|
||||||
let userItem = res.find((item: any) => item.uid === userInfo.uid)
|
let userItem = res.find((item: any) => item.uid === userInfo.uid)
|
||||||
await window.electron.onInvoke('joinChannel', {
|
await window.electron.onInvoke('joinChannel', {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue