This commit is contained in:
parent
97d3bd040c
commit
693e7ed1f7
|
|
@ -464,29 +464,9 @@ const Meeting: React.FC = () => {
|
|||
item.isShow = true;
|
||||
}
|
||||
});
|
||||
// RefreshVideoView(res)
|
||||
return res
|
||||
})
|
||||
}
|
||||
// 刷新视图
|
||||
const RefreshVideoView = async (list: any): Promise<void> => {
|
||||
list.forEach(async (item: any) => {
|
||||
if (item.uid === userInfo.uid) {
|
||||
await agora.setupLocalVideo({
|
||||
uid: Number(item.uid),
|
||||
view: document.getElementById(`video-${item.uid}`),
|
||||
channelId: state.channelId,
|
||||
sourceType: VideoSourceType.VideoSourceCameraPrimary,
|
||||
})
|
||||
} else {
|
||||
await agora.setupRemoteVideo({
|
||||
uid: Number(item.uid),
|
||||
view: document.getElementById(`video-${item.uid}`),
|
||||
channelId: state.channelId,
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
// 替换数据
|
||||
const setAllUserListData = async (key: string, item: any, callBack?: Function): Promise<void> => {
|
||||
switch (key) {
|
||||
|
|
@ -507,12 +487,26 @@ const Meeting: React.FC = () => {
|
|||
})
|
||||
break;
|
||||
case 'UserJoined':
|
||||
setRoomUserList((res: any) => [...res, item.user])
|
||||
setRoomUserList((res: any) => {
|
||||
let userItem = res.find((row: any) => row.uid === item.user.uid)
|
||||
if (userItem) {
|
||||
for (const key in item.user) {
|
||||
userItem[key] = item.user[key];
|
||||
}
|
||||
userItem.isRoom = true;
|
||||
return [...res]
|
||||
} else {
|
||||
item.user.isRoom = true;
|
||||
return [...res, item.user]
|
||||
}
|
||||
})
|
||||
break;
|
||||
case 'UserLeave':
|
||||
setRoomUserList((res: any) => {
|
||||
let userItemIndex = res.findIndex((row: any) => row.uid === item.uid)
|
||||
res.splice(userItemIndex, 1)
|
||||
let userItem = res.find((row: any) => row.uid === item.uid)
|
||||
if (userItem) {
|
||||
userItem.isRoom = false
|
||||
}
|
||||
return res
|
||||
})
|
||||
break;
|
||||
|
|
@ -815,6 +809,7 @@ const Meeting: React.FC = () => {
|
|||
if (res.code === 200) {
|
||||
res.data.forEach((item: any) => {
|
||||
item.isShow = true;
|
||||
item.isRoom = true;
|
||||
})
|
||||
setRoomUserList(res.data)
|
||||
getUserRoomInfo().then(async (res) => {
|
||||
|
|
@ -1109,7 +1104,7 @@ const Meeting: React.FC = () => {
|
|||
<div className={`${styles.meetingContentBodyLeft} drag`}>
|
||||
<div className={getMeetingContentBodyLeftModeClass()} id='videoView'>
|
||||
{roomUserList.map((item: any, index: number) => {
|
||||
return (index <= 19 ? <div
|
||||
return (index <= 19 && item.isRoom ? <div
|
||||
id={item.uid}
|
||||
className={`${styles.meetingContentSwiperCard}`}
|
||||
key={index}
|
||||
|
|
@ -1295,7 +1290,7 @@ const Meeting: React.FC = () => {
|
|||
<div className={styles.meetingUserListContent}>
|
||||
{roomUserList.map((item: any, index: number) => {
|
||||
return (
|
||||
item.isShow ? <div key={index + item.uid} className='drag'>
|
||||
item.isShow && item.isRoom ? <div key={index + item.uid} className='drag'>
|
||||
<div>
|
||||
<div><Avatar name={item.userName} /></div>
|
||||
<span>
|
||||
|
|
@ -1564,7 +1559,7 @@ const Meeting: React.FC = () => {
|
|||
<div className='drag' onClick={() => changeStatusList(row, itemIndex, rowIndex)} key={rowIndex}>
|
||||
<img src={row.active ? row.iconActive : row.icon} alt="" />
|
||||
<span>{row.title}</span>
|
||||
{row.title === '成员列表' ? <div>{roomUserList.length}</div> : null}
|
||||
{row.title === '成员列表' ? <div>{roomUserList.filter((item: any) => item.isRoom).length}</div> : null}
|
||||
{row.title === '聊天' && noViewChatList > 0 ? <div
|
||||
style={{
|
||||
backgroundColor: 'red',
|
||||
|
|
|
|||
Loading…
Reference in New Issue