diff --git a/src/page/Meeting/CurrentSpeakUserWindow/index.tsx b/src/page/Meeting/CurrentSpeakUserWindow/index.tsx index 56ca1c0..622e3e5 100644 --- a/src/page/Meeting/CurrentSpeakUserWindow/index.tsx +++ b/src/page/Meeting/CurrentSpeakUserWindow/index.tsx @@ -1,17 +1,24 @@ import styles from '@/page/Meeting/CurrentSpeakUserWindow/index.module.scss' +import { storage } from '@/utils'; import { useEffect, useState } from "react"; const CurrentSpeakUserWindow: React.FC = () => { - const [inputValue, setInputValue] = useState('') + const [inputValue, setInputValue] = useState('') + const [user, setUser] = useState({}); + const [isMeSpeack, setIsMeSpeack] = useState(false) const channel = new BroadcastChannel('meeting_channel'); + const userInfo = JSON.parse(storage.getItem('user') as string) useEffect(() => { + setUser(userInfo) channel.onmessage = function (event) { - const { type, currentSpeakUser } = event.data; + const { type, currentSpeakUser, uidArr } = event.data; switch (type) { case 'currentSpeakUser': if (currentSpeakUser.length) { setInputValue(currentSpeakUser.join('; ')) + setIsMeSpeack(uidArr.find((item: any) => item === 0) ? true : false) } else { setInputValue('') + setIsMeSpeack(false) } break; } @@ -22,8 +29,8 @@ const CurrentSpeakUserWindow: React.FC = () => { return ( <>
-
- {inputValue ? `正在说话: ${inputValue}` : `正在说话:`} +
+ {`正在说话:${isMeSpeack ? user.userName : ''} ${inputValue}`}
diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index db829da..2183654 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -962,11 +962,12 @@ const Meeting: React.FC = () => { }); } }); - const uidArr = (speakers.filter((item: any) => item.volume)).map(item => item.uid || userInfo.uid) as number[]; + const uidArr = (speakers.filter((item: any) => item.volume)) as number[]; const currentSpeakUser = await checkUidsInUsers(uidArr) channel.postMessage({ type: 'currentSpeakUser', currentSpeakUser, + uidArr }); } },