This commit is contained in:
yj 2024-08-19 12:09:26 +08:00
parent d3a19c53b6
commit eee009ab9f
7 changed files with 133 additions and 23 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

BIN
src/assets/icon45.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

View File

@ -139,7 +139,14 @@ const SharedFilesModel = forwardRef((props: any, ref: any) => {
DeleteRoomFile(selectedRowKeys).then(res => {
if (res.code === 200) {
message.success('删除成功!')
getRoomFile()
if (fileList.pageIndex === 1) {
getRoomFile()
} else {
setFileList({
...fileList,
pageIndex: 1
})
}
}
})
} else {

View File

@ -28,8 +28,8 @@ const StupWizard = forwardRef((props: any, ref: any) => {
const [list, setList] = useState([
{
title: '通用',
icon: ImageUrl.icon39,
iconActive: ImageUrl.icon39Active,
icon: ImageUrl.icon45,
iconActive: ImageUrl.icon45Active,
active: true,
},
{

View File

@ -476,7 +476,6 @@
overflow-y: auto;
padding: 20px;
box-sizing: border-box;
border-bottom: 1px solid #23272E;
.meetingUserChatContentLeft {
display: flex;
@ -542,6 +541,18 @@
}
.meetingUserChatButton {
display: flex;
flex-shrink: 0;
flex-wrap: wrap;
padding: 10px 20px;
box-sizing: border-box;
>button {
margin: 4px 4px 0;
}
}
.meetingUserChatInput {
flex-shrink: 0;
padding: 10px 20px;
@ -550,6 +561,7 @@
display: flex;
flex-direction: column;
align-items: flex-end;
border-top: 1px solid #23272E;
}
}
}

View File

@ -122,6 +122,12 @@ const Meeting: React.FC = () => {
const [isShareUser, setIsShareUser] = useState<any>(null)
const [currentLookUserStatus, setCurrentLookUserStatus] = useState<0 | 1 | 2 | 3 | 4>(1)
const [clickCurrentLookUserStatus, setClickCurrentLookUserStatus] = useState<boolean>(true)
const [commonlyChatList] = useState<any>([
'能听到我说话吗?',
'听得到',
'听不到',
'我要发言',
])
let userInfo = JSON.parse(storage.getItem('user') as string)
const msgTips = '您不是管理员或发言人,无法开启此功能!'
useEffect(() => {
@ -740,16 +746,17 @@ const Meeting: React.FC = () => {
}
};
// 聊天发送
const sendMsg = (): void => {
if (textMsg) {
const sendMsg = (text?: string): void => {
let msg = text ? text : textMsg;
if (msg) {
onInvoke('sendChannelMsg', {
roomNum: state.channelId,
msg: textMsg,
msg: msg,
})
setChatList((newChatList: any) => [...newChatList, {
uid: state.uid,
userName: user.userName,
message: textMsg,
message: msg,
}])
setTextMsg('')
} else {
@ -980,13 +987,13 @@ const Meeting: React.FC = () => {
</div>
</div>
{meetingContentUser(item)}
{item.enableCamera ? null : meetingContentError(currentVideoId, item)}
{item.enableCamera ? null : meetingContentError(currentVideoId, item, item.roleId === '1' || item.isRoomManager)}
{String(isShare) === item.screenShareId ? <div className={styles.meetingContentSwiperCardShare}>
</div> : null}
{user.roleId === '1' ? <Popover placement="bottom" title={''} content={
<div className={styles.meetingContentSwiperCardPopover}>
<Button
{item.isRoomManager || user.roleId === '1' ? <Button
type="primary"
className='m-ant-btn'
size={'small'}
@ -994,7 +1001,7 @@ const Meeting: React.FC = () => {
event.stopPropagation();
setAllUserLook(item)
}}
>Ta</Button>
>Ta</Button> : null}
{item.uid !== user.uid ? <Button
type="primary"
className='m-ant-btn'
@ -1024,8 +1031,8 @@ const Meeting: React.FC = () => {
})
}
}}
>{item.isRoomManager ? '取消房间发言人' : '设为房间发言人'}</Button> : null}
<Button
>{item.isRoomManager ? '取消房间发言人' : '设为发言人'}</Button> : null}
{item.isRoomManager ? <Button
type="primary"
className='m-ant-btn'
size={'small'}
@ -1033,8 +1040,8 @@ const Meeting: React.FC = () => {
event.stopPropagation();
postOpenMicr(!item.enableMicr, item.uid)
}}
>{item.enableMicr ? '静音' : '解除静音'}</Button>
<Button
>{item.enableMicr ? '静音' : '解除静音'}</Button> : null}
{item.isRoomManager ? <Button
type="primary"
className='m-ant-btn'
size={'small'}
@ -1042,7 +1049,7 @@ const Meeting: React.FC = () => {
event.stopPropagation();
postOpenCamera(!item.enableCamera, item.uid)
}}
>{item.enableCamera ? '关闭视频' : '打开视频'}</Button>
>{item.enableCamera ? '关闭视频' : '打开视频'}</Button> : null}
</div>
}>
<div className={styles.meetingContentOperation}>
@ -1075,7 +1082,7 @@ const Meeting: React.FC = () => {
</div>}
</div>
{meetingContentUser(currentLookUserAccount, true)}
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount, true)}
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)}
</div> : null}
{currentLookUserStatus === 2 && currentLookUserAccount ?
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()}`}>
@ -1094,7 +1101,7 @@ const Meeting: React.FC = () => {
</div>
</div>
{meetingContentUser(currentLookUserAccount, true)}
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount, true)}
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentVideoId, currentLookUserAccount)}
</div> : null}
{currentLookUserStatus === 4 && currentLookUserAccount ?
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()}`}>
@ -1194,7 +1201,7 @@ const Meeting: React.FC = () => {
})
}
}}
>{item.isRoomManager ? '取消房间发言人' : '设为房间发言人'}</Button>
>{item.isRoomManager ? '取消房间发言人' : '设为发言人'}</Button>
<Button
type="primary"
className='m-ant-btn'
@ -1239,19 +1246,99 @@ const Meeting: React.FC = () => {
<div
key={index}
className={`${item.uid !== state.uid ? styles.meetingUserChatContentLeft : styles.meetingUserChatContentRight} drag`}>
<div>
{user.roleId === '1' ? <Popover placement="bottom" title={''} content={
<div className={styles.meetingContentSwiperCardPopover}>
{item.isRoomManager || user.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
})
}
}}
>{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>
}>
<div>
<div><Avatar name={item.userName} /></div>
<span>{item.userName}</span>
</div>
</Popover> : <div>
<div><Avatar name={item.userName} /></div>
<span>{item.userName}</span>
</div>
</div>}
<div>{item.message}</div>
</div>
)}
</div>
<div className={`${styles.meetingUserChatButton} drag`}>
{
commonlyChatList.map((item: string, index: number) => {
return <Button
key={index}
type="primary"
className='m-ant-btn'
onClick={() => {
sendMsg(item)
}}
>{item}</Button>
})
}
</div>
<div className={`${styles.meetingUserChatInput} drag`}>
<Input.TextArea placeholder="请输入消息" value={textMsg} style={{ flexGrow: 1 }} onChange={(e) => {
setTextMsg(e.target.value)
}}></Input.TextArea>
<Button type="primary" className='m-ant-btn' style={{ flexShrink: 0, marginTop: '4px' }} onClick={sendMsg}></Button>
<Button type="primary" className='m-ant-btn' style={{ flexShrink: 0, marginTop: '4px' }} onClick={() => sendMsg()}></Button>
</div>
</div>
}
@ -1409,7 +1496,7 @@ const meetingContentError = (currentVideoId: any, item: any, bool?: boolean) =>
<>
<div
className={`${styles.meetingContentError} ${currentVideoId === item.uid ? styles.active : ''}`}
style={{ left: !bool ? 'calc(50% + 2px)' : '', top: !bool ? 'calc(50% + 2px)' : '' }}
style={{ left: bool ? 'calc(50% + 2px)' : '', top: bool ? 'calc(50% + 2px)' : '' }}
>
<Avatar name={item.userName} />
</div>

View File

@ -55,6 +55,8 @@ import icon42 from '@/assets/icon42.png'
import icon42Active from '@/assets/icon42-active.png'
import icon43 from '@/assets/icon43.png'
import icon44 from '@/assets/icon44.png'
import icon45 from '@/assets/icon45.png'
import icon45Active from '@/assets/icon45-active.png'
export default {
error,
icon,
@ -113,4 +115,6 @@ export default {
icon42Active,
icon43,
icon44,
icon45,
icon45Active,
}