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