This commit is contained in:
yj 2024-08-22 10:42:04 +08:00
parent 297946ed02
commit 637ef335df
1 changed files with 79 additions and 72 deletions

View File

@ -367,7 +367,7 @@ const Meeting: React.FC = () => {
message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}${item.user.userName}为发言人`) message.success(`管理员${item.user.isRoomManager ? '设置' : '取消'}${item.user.userName}为发言人`)
} }
if (!item.user.isRoomManager) { if (!item.user.isRoomManager) {
renderVideo(item.user.uid) changeVideo()
} }
}) })
break; break;
@ -566,6 +566,20 @@ const Meeting: React.FC = () => {
} }
changeAgoraDevice() changeAgoraDevice()
} }
// 修改当前观看用户
const changeVideo = (): void => {
setRoomUserList((list: any) => {
let row = list.filter((i: any) => i.roleId === '1' || i.isRoomManager)
setCurrentLookUserAccount((res: any) => {
let has = row.find((x: any) => x.uid === res.uid)
if (!has) {
renderVideo(row[0].uid)
}
return res
})
return list
})
}
// 网络 // 网络
const handleNetworkChange = (): void => { const handleNetworkChange = (): void => {
if (navigator.onLine) { if (navigator.onLine) {
@ -580,20 +594,14 @@ const Meeting: React.FC = () => {
} }
} }
// 渲染视频 // 渲染视频
const renderVideo = async (uid: string = ''): Promise<void> => { const renderVideo = async (uid: string): Promise<void> => {
// if ((uid && currentVideoId === uid) || clickCurrentLookUserStatus === false) { if (currentVideoId === uid || clickCurrentLookUserStatus === false) {
// return return
// } }
setClickCurrentLookUserStatus(false) setClickCurrentLookUserStatus(false)
setCurrentLookUserStatus(0) setCurrentLookUserStatus(0)
setRoomUserList((list: any) => { setRoomUserList((res: any) => {
let row = list.filter((i: any) => i.roleId === '1' || i.isRoomManager) let item = res.find((item: any) => item.uid === uid || item.screenShareId === uid)
setCurrentLookUserAccount((res: any) => {
let has = row.find((x: any) => x.uid === res.uid)
if (!has && row.length) {
uid = row[0].uid;
}
let item = list.find((item: any) => item.uid === uid || item.screenShareId === uid)
if (item) { if (item) {
setCurrentVideoId(item.uid) setCurrentVideoId(item.uid)
} }
@ -652,14 +660,13 @@ const Meeting: React.FC = () => {
} }
} }
}, 1000) }, 1000)
return list
})
} }
// 全员观看 // 全员观看
const getShowUser = async (): Promise<void> => { const getShowUser = async (): Promise<void> => {
await GetShowUser(state.channelId).then(async (res) => { await GetShowUser(state.channelId).then(async (res) => {
if (res.code === 200 && res.data) { if (res.code === 200 && res.data) {
renderVideo(res.data) renderVideo(res.data)
changeVideo()
} }
}) })
} }