yangjie #49
|
|
@ -159,8 +159,8 @@ const Meeting: React.FC = () => {
|
||||||
itemIndex: 0,
|
itemIndex: 0,
|
||||||
rowIndex: 0,
|
rowIndex: 0,
|
||||||
});
|
});
|
||||||
const [audioStatus, setAudioStatus] = useState<StreamPublishState>(1);
|
const [_audioStatus, setAudioStatus] = useState<StreamPublishState>(1);
|
||||||
const [videoStatus, setVideoStatus] = useState<StreamPublishState>(1);
|
const [_videoStatus, setVideoStatus] = useState<StreamPublishState>(1);
|
||||||
const [roomUserList, setRoomUserList] = useState<any>([])
|
const [roomUserList, setRoomUserList] = useState<any>([])
|
||||||
const [_speackUid, setSpeackUid] = useState<any>([])
|
const [_speackUid, setSpeackUid] = useState<any>([])
|
||||||
const [currentSpeakUser, setCurrentSpeakUser] = useState<any>([])
|
const [currentSpeakUser, setCurrentSpeakUser] = useState<any>([])
|
||||||
|
|
@ -1160,60 +1160,60 @@ const Meeting: React.FC = () => {
|
||||||
return () => clearTimeout(timer);
|
return () => clearTimeout(timer);
|
||||||
}, [isClickedMediaSteam]);
|
}, [isClickedMediaSteam]);
|
||||||
|
|
||||||
useEffect(() => {
|
// useEffect(() => {
|
||||||
let timer: NodeJS.Timeout | string = '';
|
// let timer: NodeJS.Timeout | string = '';
|
||||||
if (audioStatus === 1 && videoStatus === 1) {
|
// if (audioStatus === 1 && videoStatus === 1) {
|
||||||
if (timer) {
|
// if (timer) {
|
||||||
clearTimeout(timer)
|
// clearTimeout(timer)
|
||||||
timer = ''
|
// timer = ''
|
||||||
}
|
// }
|
||||||
timer = setTimeout(() => {
|
// timer = setTimeout(() => {
|
||||||
setIsShare((req: any) => {
|
// setIsShare((req: any) => {
|
||||||
if (!req) {
|
// if (!req) {
|
||||||
setRoomUserList((res: any) => {
|
// setRoomUserList((res: any) => {
|
||||||
let userItem = res.find((item: any) => item.uid === userInfo.uid)
|
// let userItem = res.find((item: any) => item.uid === userInfo.uid)
|
||||||
if (!role.ID.includes(userInfo.roleId) && userItem && userItem.isRoomManager) {
|
// if (!role.ID.includes(userInfo.roleId) && userItem && userItem.isRoomManager) {
|
||||||
DeleteRoomManager({
|
// DeleteRoomManager({
|
||||||
roomId: state.roomId,
|
// roomId: state.roomId,
|
||||||
roomNum: state.channelId,
|
// roomNum: state.channelId,
|
||||||
userId: userInfo.uid
|
// userId: userInfo.uid
|
||||||
})
|
// })
|
||||||
confirm({
|
// confirm({
|
||||||
title: '提示',
|
// title: '提示',
|
||||||
icon: <ExclamationCircleFilled />,
|
// icon: <ExclamationCircleFilled />,
|
||||||
content: `由于您长时间未发言,已自动取消发言权限,是否重新申请发言?`,
|
// content: `由于您长时间未发言,已自动取消发言权限,是否重新申请发言?`,
|
||||||
centered: true,
|
// centered: true,
|
||||||
okText: '确定',
|
// okText: '确定',
|
||||||
cancelText: '取消',
|
// cancelText: '取消',
|
||||||
async onOk() {
|
// async onOk() {
|
||||||
GetApplySpeak(state.channelId).then(res => {
|
// GetApplySpeak(state.channelId).then(res => {
|
||||||
if (res.code === 200) {
|
// if (res.code === 200) {
|
||||||
setIsClicked(true);
|
// setIsClicked(true);
|
||||||
message.success('申请发言成功')
|
// message.success('申请发言成功')
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
},
|
// },
|
||||||
onCancel() {
|
// onCancel() {
|
||||||
|
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
clearTimeout(timer)
|
// clearTimeout(timer)
|
||||||
timer = ''
|
// timer = ''
|
||||||
return res
|
// return res
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
return req
|
// return req
|
||||||
})
|
// })
|
||||||
}, 1000 * 60 * 5);
|
// }, 1000 * 60 * 5);
|
||||||
} else {
|
// } else {
|
||||||
if (timer) {
|
// if (timer) {
|
||||||
clearTimeout(timer)
|
// clearTimeout(timer)
|
||||||
timer = ''
|
// timer = ''
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return () => timer ? clearTimeout(timer) : '';
|
// return () => timer ? clearTimeout(timer) : '';
|
||||||
}, [audioStatus, videoStatus]);
|
// }, [audioStatus, videoStatus]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let timer: NodeJS.Timeout | undefined;
|
let timer: NodeJS.Timeout | undefined;
|
||||||
|
|
@ -1348,8 +1348,28 @@ const Meeting: React.FC = () => {
|
||||||
})
|
})
|
||||||
setCurrentVideoId((res: any) => {
|
setCurrentVideoId((res: any) => {
|
||||||
if (res === String(remoteUid)) {
|
if (res === String(remoteUid)) {
|
||||||
|
let dom: any;
|
||||||
|
setCurrentLookUserStatus(req => {
|
||||||
|
switch (req) {
|
||||||
|
case 1:
|
||||||
|
dom = document.getElementById(`video-source-camera-primary`) as HTMLElement
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
dom = document.getElementById(`video-source-screen`) as HTMLElement;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
dom = document.getElementById(`video-source-remote-screen`) as HTMLElement
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
dom = document.getElementById(`video-source-remote-camera`) as HTMLElement
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (dom && dom.childNodes.length === 1) {
|
||||||
renderVideo(String(remoteUid))
|
renderVideo(String(remoteUid))
|
||||||
}
|
}
|
||||||
|
return req
|
||||||
|
})
|
||||||
|
}
|
||||||
return res
|
return res
|
||||||
})
|
})
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|
@ -2172,7 +2192,25 @@ const Meeting: React.FC = () => {
|
||||||
item.isRoom = true;
|
item.isRoom = true;
|
||||||
item.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager
|
item.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager
|
||||||
})
|
})
|
||||||
setRoomUserList(res.data)
|
setRoomUserList((req: any) => {
|
||||||
|
if (req.length) {
|
||||||
|
let arr: any = []
|
||||||
|
res.data.forEach((item: any) => {
|
||||||
|
let userItem = req.find((row: any) => row.uid == item.uid);
|
||||||
|
if (userItem) {
|
||||||
|
userItem.enableCamera = item.enableCamera;
|
||||||
|
userItem.enableMicr = item.enableMicr;
|
||||||
|
userItem.isRoomManager = item.isRoomManager;
|
||||||
|
userItem.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager;
|
||||||
|
} else {
|
||||||
|
arr.push(item)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return [...req, ...arr]
|
||||||
|
} else {
|
||||||
|
return res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
getUserRoomInfo().then(async (res) => {
|
getUserRoomInfo().then(async (res) => {
|
||||||
await agora.updateChannelMediaOptions(res ? true : false)
|
await agora.updateChannelMediaOptions(res ? true : false)
|
||||||
changeAgoraDevice()
|
changeAgoraDevice()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue