This commit is contained in:
parent
c7edf8986b
commit
81df5af9fc
|
|
@ -39,6 +39,12 @@ export const GetRoomUser = (roomNum: string) =>
|
|||
method: 'get'
|
||||
})
|
||||
|
||||
export const GetRoomUserItem = (roomNum: string, uid: string) =>
|
||||
request({
|
||||
url: `/room/user/${uid}?roomNum=${roomNum}`,
|
||||
method: 'get'
|
||||
})
|
||||
|
||||
|
||||
export const PostMuteAll = (data: any) => {
|
||||
return request({
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { SearchOutlined, EllipsisOutlined } from '@ant-design/icons';
|
|||
import { useLocation, useNavigate } from 'react-router-dom';
|
||||
import { thumbImageBufferToBase64 } from '@/utils/package/base64'
|
||||
import { storage } from '@/utils';
|
||||
import { GetRoomUser, PostOpenMicr, PostOpenCamera, GetLeaveAll, PostRoomManager, DeleteRoomManager, GetRoomKickout, GetShowUser, PostShowUser, GetJoin, GetLeave, PostMuteAll } from '@/api/Meeting';
|
||||
import { GetRoomUser, PostOpenMicr, PostOpenCamera, GetLeaveAll, PostRoomManager, DeleteRoomManager, GetRoomKickout, GetShowUser, PostShowUser, GetJoin, GetLeave, PostMuteAll, GetRoomUserItem } from '@/api/Meeting';
|
||||
import ImageUrl from '@/utils/package/ImageUrl'
|
||||
import agora from '@/utils/package/agora'
|
||||
import { onInvoke, onSignalr, offSignalr, onStart } from '@/utils/package/signalr';
|
||||
|
|
@ -128,6 +128,7 @@ const Meeting: React.FC = () => {
|
|||
'听不到',
|
||||
'我要发言',
|
||||
])
|
||||
const [roomUserItem, setRoomUserItem] = useState<any>(null)
|
||||
let userInfo = JSON.parse(storage.getItem('user') as string)
|
||||
const msgTips = '您不是管理员或发言人,无法开启此功能!'
|
||||
useEffect(() => {
|
||||
|
|
@ -758,7 +759,7 @@ const Meeting: React.FC = () => {
|
|||
msg: msg,
|
||||
})
|
||||
setChatList((newChatList: any) => [...newChatList, {
|
||||
uid: state.uid,
|
||||
uid: user.uid,
|
||||
userName: user.userName,
|
||||
message: msg,
|
||||
}])
|
||||
|
|
@ -1251,69 +1252,83 @@ const Meeting: React.FC = () => {
|
|||
{chatList.map((item: any, index: number) =>
|
||||
<div
|
||||
key={index}
|
||||
className={`${item.uid !== state.uid ? styles.meetingUserChatContentLeft : styles.meetingUserChatContentRight} drag`}>
|
||||
|
||||
{user.roleId === '1' ? <Popover placement="bottom" title={''} content={
|
||||
<div className={styles.meetingContentSwiperCardPopover}>
|
||||
{item.isRoomManager || item.roleId === '1' ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
setAllUserLook(item)
|
||||
}}
|
||||
>全员看Ta</Button> : null}
|
||||
{item.uid !== user.uid ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
GetRoomKickout(state.channelId, item.uid)
|
||||
}}
|
||||
>踢出房间</Button> : null}
|
||||
{item.uid !== user.uid ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
if (item.isRoomManager) {
|
||||
DeleteRoomManager({
|
||||
roomId: state.roomId,
|
||||
roomNum: state.channelId,
|
||||
userId: item.uid
|
||||
})
|
||||
} else {
|
||||
PostRoomManager({
|
||||
roomId: state.roomId,
|
||||
roomNum: state.channelId,
|
||||
userId: item.uid
|
||||
})
|
||||
className={`${item.uid !== user.uid ? styles.meetingUserChatContentLeft : styles.meetingUserChatContentRight} drag`}>
|
||||
{user.roleId === '1' ? <Popover
|
||||
placement="bottom"
|
||||
title={''}
|
||||
onOpenChange={(e: boolean) => {
|
||||
if (e) {
|
||||
GetRoomUserItem(state.channelId, item.uid).then((res: any) => {
|
||||
if (res.code === 200) {
|
||||
console.log(res);
|
||||
setRoomUserItem(res.data)
|
||||
}
|
||||
}}
|
||||
>{item.isRoomManager ? '取消房间发言人' : '设为发言人'}</Button> : null}
|
||||
{item.isRoomManager ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
postOpenMicr(!item.enableMicr, item.uid)
|
||||
}}
|
||||
>{item.enableMicr ? '静音' : '解除静音'}</Button> : null}
|
||||
{item.isRoomManager ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
postOpenCamera(!item.enableCamera, item.uid)
|
||||
}}
|
||||
>{item.enableCamera ? '关闭视频' : '打开视频'}</Button> : null}
|
||||
</div>
|
||||
}>
|
||||
})
|
||||
} else {
|
||||
setRoomUserItem(null)
|
||||
}
|
||||
}}
|
||||
content={
|
||||
roomUserItem ? <div className={styles.meetingContentSwiperCardPopover}>
|
||||
{roomUserItem.isRoomManager || roomUserItem.roleId === '1' ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
setAllUserLook(roomUserItem)
|
||||
}}
|
||||
>全员看Ta</Button> : null}
|
||||
{roomUserItem.uid !== user.uid ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
GetRoomKickout(state.channelId, roomUserItem.uid)
|
||||
}}
|
||||
>踢出房间</Button> : null}
|
||||
{roomUserItem.uid !== user.uid ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
if (roomUserItem.isRoomManager) {
|
||||
DeleteRoomManager({
|
||||
roomId: state.roomId,
|
||||
roomNum: state.channelId,
|
||||
userId: roomUserItem.uid
|
||||
})
|
||||
} else {
|
||||
PostRoomManager({
|
||||
roomId: state.roomId,
|
||||
roomNum: state.channelId,
|
||||
userId: roomUserItem.uid
|
||||
})
|
||||
}
|
||||
}}
|
||||
>{roomUserItem.isRoomManager ? '取消房间发言人' : '设为发言人'}</Button> : null}
|
||||
{roomUserItem.isRoomManager ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
postOpenMicr(!roomUserItem.enableMicr, roomUserItem.uid)
|
||||
}}
|
||||
>{roomUserItem.enableMicr ? '静音' : '解除静音'}</Button> : null}
|
||||
{roomUserItem.isRoomManager ? <Button
|
||||
type="primary"
|
||||
className='m-ant-btn'
|
||||
size={'small'}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
postOpenCamera(!roomUserItem.enableCamera, roomUserItem.uid)
|
||||
}}
|
||||
>{roomUserItem.enableCamera ? '关闭视频' : '打开视频'}</Button> : null}
|
||||
</div> : <div style={{ color: 'white' }}>加载中</div>
|
||||
}>
|
||||
<div>
|
||||
<div><Avatar name={item.userName} /></div>
|
||||
<span>{item.userName}</span>
|
||||
|
|
|
|||
Loading…
Reference in New Issue