yangjie #22
|
|
@ -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<string>('')
|
||||
const [inputValue, setInputValue] = useState('')
|
||||
const [user, setUser] = useState<any>({});
|
||||
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 (
|
||||
<>
|
||||
<div className={styles.currentSpeakUserWindow}>
|
||||
<div title={inputValue ? `正在说话: ${inputValue}` : `正在说话:`}>
|
||||
{inputValue ? `正在说话: ${inputValue}` : `正在说话:`}
|
||||
<div title={`正在说话:${isMeSpeack ? user.userName : ''} ${inputValue}`}>
|
||||
{`正在说话:${isMeSpeack ? user.userName : ''} ${inputValue}`}
|
||||
</div>
|
||||
</div >
|
||||
</>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
});
|
||||
}
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue