From 4c51e3d03e1b6d69bd09c57db6b68b6076eec810 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Thu, 22 Aug 2024 17:59:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=8F=91=E8=A8=80=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/page/Meeting/index.tsx | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 528e859..386dafa 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -29,6 +29,7 @@ const Meeting: React.FC = () => { const sharedFilesModelRef = useRef(); const invitingPersonnelRef = useRef(); const stupWizardRef = useRef(); + const [isClicked, setIsClicked] = useState(false); const [statusList, setStatusList] = useState({ userList: false, userChatList: false, @@ -150,7 +151,7 @@ const Meeting: React.FC = () => { let userInfo = JSON.parse(storage.getItem('user') as string) const msgTips = '您不是管理员或发言人,无法开启此功能!' useEffect(() => { - let time = null as any; + let time: NodeJS.Timeout; setUser(userInfo) setTimeout(() => { if (location.hash.indexOf('/login') === -1) { @@ -472,6 +473,17 @@ const Meeting: React.FC = () => { }; }, [recorder]) + useEffect(() => { + let timer: NodeJS.Timeout; + + if (isClicked) { + timer = setTimeout(() => { + setIsClicked(false); + }, 10000); + } + + return () => clearTimeout(timer); + }, [isClicked]); const changeAgoraDevice = () => { setRoomUserList((res: any) => { res.forEach(async (item: any) => { @@ -851,7 +863,16 @@ const Meeting: React.FC = () => { sharedFilesModelRef.current.getData() break; case '申请发言': - GetApplySpeak(state.channelId) + if (!isClicked) { + setIsClicked(true); + GetApplySpeak(state.channelId).then(res => { + if (res.code === 200) { + message.success('申请发言成功') + } + }) + } else { + message.error('申请已提交,请勿重复点击!'); + } break; case '会议监控': window.electron.oepnWindow({