yangjie #51
Binary file not shown.
|
After Width: | Height: | Size: 317 B |
|
|
@ -53,14 +53,14 @@ const SpeakerModeModal = forwardRef((props: any, ref: any) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
const FreedomMode: React.FC<Props> = ({ onClick, meetingMode }) => {
|
const FreedomMode: React.FC<Props> = ({ onClick, meetingMode }) => {
|
||||||
// 自由者模式
|
// 宫格模式
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className={styles.freedomMode} onClick={onClick}>
|
<div className={styles.freedomMode} onClick={onClick}>
|
||||||
<div className={`${meetingMode === 'FreedomMode' ? styles.active : ''}`}>
|
<div className={`${meetingMode === 'FreedomMode' ? styles.active : ''}`}>
|
||||||
{[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16].map(item => <div key={item}></div>)}
|
{[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16].map(item => <div key={item}></div>)}
|
||||||
</div>
|
</div>
|
||||||
<span>自由者模式</span>
|
<span>宫格模式</span>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
.meetingContentUserName {
|
.meetingContentUserName {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background-color: #0000009E;
|
background-color: rgba(0, 0, 0, 0.62);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
|
|
@ -285,14 +285,126 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 宫格模式
|
||||||
|
// 1
|
||||||
|
.meetingContentBodyLeftFreedomModeOne {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
// 自由者模式
|
.meetingContentSwiperCard {
|
||||||
.meetingContentBodyLeftFreedomMode {
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2
|
||||||
|
.meetingContentBodyLeftFreedomModeTwo {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.meetingContentSwiperCard {
|
||||||
|
width: 50%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3 4
|
||||||
|
.meetingContentBodyLeftFreedomModeThree {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
overflow-y: auto;
|
justify-content: center;
|
||||||
|
|
||||||
|
.meetingContentSwiperCard {
|
||||||
|
width: 50%;
|
||||||
|
height: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//5 6
|
||||||
|
.meetingContentBodyLeftFreedomModeFour {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.meetingContentSwiperCard {
|
||||||
|
width: calc(100% / 3);
|
||||||
|
height: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 7
|
||||||
|
.meetingContentBodyLeftFreedomModeFive {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.meetingContentSwiperCard {
|
||||||
|
width: calc(100% / 4);
|
||||||
|
height: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//8 9
|
||||||
|
.meetingContentBodyLeftFreedomModeSix {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.meetingContentSwiperCard {
|
||||||
|
width: calc(100% / 3);
|
||||||
|
height: calc(100% / 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 10 11 12
|
||||||
|
.meetingContentBodyLeftFreedomModeSeven {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.meetingContentSwiperCard {
|
||||||
|
width: calc(100% / 4);
|
||||||
|
height: calc(100% / 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 13 14 15 16
|
||||||
|
.meetingContentBodyLeftFreedomModeEight {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.meetingContentSwiperCard {
|
||||||
|
width: calc(100% / 4);
|
||||||
|
height: calc(100% / 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 17 18 19 20
|
||||||
|
.meetingContentBodyLeftFreedomModeNine {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.meetingContentSwiperCard {
|
||||||
|
width: calc(100% / 5);
|
||||||
|
height: calc(100% / 4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 标准模式
|
// 标准模式
|
||||||
|
|
@ -309,9 +421,6 @@
|
||||||
|
|
||||||
.meetingContentSwiperCard {
|
.meetingContentSwiperCard {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
|
||||||
|
|
||||||
.meetingContentSwiperCard {
|
|
||||||
height: 160px;
|
height: 160px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,7 @@ const Meeting: React.FC = () => {
|
||||||
const [isClickLock, setIsClickLock] = useState(false)
|
const [isClickLock, setIsClickLock] = useState(false)
|
||||||
const [open, setOpen] = useState(false)
|
const [open, setOpen] = useState(false)
|
||||||
const [modeOpen, setModeOpen] = useState(false)
|
const [modeOpen, setModeOpen] = useState(false)
|
||||||
const [meetingMode, setMeetingMode] = useState('')
|
const [meetingMode, setMeetingMode] = useState('FreedomMode')
|
||||||
const [userSearchValue, setUserSearchValue] = useState('')
|
const [userSearchValue, setUserSearchValue] = useState('')
|
||||||
const [noViewChatList, setNoViewChatList] = useState(0)
|
const [noViewChatList, setNoViewChatList] = useState(0)
|
||||||
const [currentLookUserAccount, setCurrentLookUserAccount] = useState<any>('')
|
const [currentLookUserAccount, setCurrentLookUserAccount] = useState<any>('')
|
||||||
|
|
@ -235,7 +235,6 @@ const Meeting: React.FC = () => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
setKeyOpenChildWindow('shareScreenWindow', false)
|
setKeyOpenChildWindow('shareScreenWindow', false)
|
||||||
setMeetingMode('StandardMode');
|
|
||||||
agoraInit()
|
agoraInit()
|
||||||
storage.setItem('noViewChatList', 0)
|
storage.setItem('noViewChatList', 0)
|
||||||
window.addEventListener('customStorageChange', handleCustomStorageChange);
|
window.addEventListener('customStorageChange', handleCustomStorageChange);
|
||||||
|
|
@ -639,18 +638,23 @@ const Meeting: React.FC = () => {
|
||||||
if (isShare) {
|
if (isShare) {
|
||||||
const item = roomUserList.find((item: any) => item.screenShareId === String(isShare))
|
const item = roomUserList.find((item: any) => item.screenShareId === String(isShare))
|
||||||
setIsShareUser(item || null)
|
setIsShareUser(item || null)
|
||||||
|
setMeetingMode('StandardMode')
|
||||||
}
|
}
|
||||||
}, [isShare, roomUserList]);
|
}, [isShare, roomUserList]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
roomUserList.forEach(async (item: any) => {
|
roomUserList.forEach(async (item: any) => {
|
||||||
|
if (meetingMode === "FreedomMode") {
|
||||||
|
await agora.setRemoteVideoStreamType(item.uid, VideoStreamType.VideoStreamHigh, true)
|
||||||
|
} else {
|
||||||
if (item.uid === currentVideoId) {
|
if (item.uid === currentVideoId) {
|
||||||
await agora.setRemoteVideoStreamType(item.uid, VideoStreamType.VideoStreamHigh, true)
|
await agora.setRemoteVideoStreamType(item.uid, VideoStreamType.VideoStreamHigh, true)
|
||||||
} else {
|
} else {
|
||||||
await agora.setRemoteVideoStreamType(item.uid, VideoStreamType.VideoStreamLow, true)
|
await agora.setRemoteVideoStreamType(item.uid, VideoStreamType.VideoStreamLow, true)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}, [currentVideoId, roomUserList]);
|
}, [currentVideoId, roomUserList, meetingMode]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let item = roomUserList.find((item: any) => currentVideoId == item.uid)
|
let item = roomUserList.find((item: any) => currentVideoId == item.uid)
|
||||||
|
|
@ -739,7 +743,7 @@ const Meeting: React.FC = () => {
|
||||||
break;
|
break;
|
||||||
// 更新视图模式
|
// 更新视图模式
|
||||||
case 'RefreshView':
|
case 'RefreshView':
|
||||||
setMeetingMode(item.type)
|
|
||||||
break;
|
break;
|
||||||
// 全员看他
|
// 全员看他
|
||||||
case 'ShowUser':
|
case 'ShowUser':
|
||||||
|
|
@ -752,6 +756,7 @@ const Meeting: React.FC = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
setMeetingMode('StandardMode')
|
||||||
getShowUser()
|
getShowUser()
|
||||||
break;
|
break;
|
||||||
// 用户加入频道回调
|
// 用户加入频道回调
|
||||||
|
|
@ -990,12 +995,15 @@ const Meeting: React.FC = () => {
|
||||||
uid: temp.uid,
|
uid: temp.uid,
|
||||||
enableMicr: temp.enableMicr
|
enableMicr: temp.enableMicr
|
||||||
})
|
})
|
||||||
} else {
|
} else if (temp.type === 'video') {
|
||||||
await PostOpenCamera({
|
await PostOpenCamera({
|
||||||
roomNum: temp.roomNum,
|
roomNum: temp.roomNum,
|
||||||
uid: temp.uid,
|
uid: temp.uid,
|
||||||
enableCamera: temp.enableCamera
|
enableCamera: temp.enableCamera
|
||||||
})
|
})
|
||||||
|
} else if (temp.type === 'mode') {
|
||||||
|
message.success(`管理员已将会议室显示模式更新为${getMeetingContentBodyLeftModeText(temp.mode)}`)
|
||||||
|
setMeetingMode(temp.mode)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
||||||
|
|
@ -1581,7 +1589,11 @@ const Meeting: React.FC = () => {
|
||||||
item.isShow = true;
|
item.isShow = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
setIsAdmin(res.filter((item: any) => (role.ID.includes(item.roleId) || item.isRoomManager) && item.isRoom).length)
|
const peoPleLength = res.filter((item: any) => (role.ID.includes(item.roleId) || item.isRoomManager) && item.isRoom).length
|
||||||
|
setIsAdmin(peoPleLength)
|
||||||
|
if (peoPleLength >= 6) {
|
||||||
|
setMeetingMode('StandardMode')
|
||||||
|
}
|
||||||
return res
|
return res
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -2236,6 +2248,9 @@ const Meeting: React.FC = () => {
|
||||||
const handleCustomStorageChange = async (e: any): Promise<void> => {
|
const handleCustomStorageChange = async (e: any): Promise<void> => {
|
||||||
switch (e.key) {
|
switch (e.key) {
|
||||||
case 'meetingMode':
|
case 'meetingMode':
|
||||||
|
if (e.value !== 'FreedomMode') {
|
||||||
|
await getShowUser()
|
||||||
|
}
|
||||||
setMeetingMode(e.value)
|
setMeetingMode(e.value)
|
||||||
break;
|
break;
|
||||||
case 'quitMeeting':
|
case 'quitMeeting':
|
||||||
|
|
@ -2456,10 +2471,37 @@ const Meeting: React.FC = () => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 获取当前模式样式
|
// 获取当前模式样式
|
||||||
const getMeetingContentBodyLeftModeClass = (): string => {
|
const getMeetingContentBodyLeftModeClass = (people: Number): string => {
|
||||||
switch (meetingMode) {
|
switch (meetingMode) {
|
||||||
case 'FreedomMode':
|
case 'FreedomMode':
|
||||||
return styles.meetingContentBodyLeftFreedomMode
|
switch (people) {
|
||||||
|
case 1:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeOne;
|
||||||
|
case 2:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeTwo;
|
||||||
|
case 3:
|
||||||
|
case 4:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeThree;
|
||||||
|
case 5:
|
||||||
|
case 6:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeFour;
|
||||||
|
case 7:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeFive;
|
||||||
|
case 8:
|
||||||
|
case 9:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeSix;
|
||||||
|
case 10:
|
||||||
|
case 11:
|
||||||
|
case 12:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeSeven;
|
||||||
|
case 13:
|
||||||
|
case 14:
|
||||||
|
case 15:
|
||||||
|
case 16:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeEight;
|
||||||
|
default:
|
||||||
|
return styles.meetingContentBodyLeftFreedomModeNine;
|
||||||
|
}
|
||||||
case 'StandardMode':
|
case 'StandardMode':
|
||||||
return styles.meetingContentBodyLeftStandardMode
|
return styles.meetingContentBodyLeftStandardMode
|
||||||
case 'SpeakerMode':
|
case 'SpeakerMode':
|
||||||
|
|
@ -2474,10 +2516,10 @@ const Meeting: React.FC = () => {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
// 获取当前模式文字
|
// 获取当前模式文字
|
||||||
const getMeetingContentBodyLeftModeText = (): string => {
|
const getMeetingContentBodyLeftModeText = (mode?: string): string => {
|
||||||
switch (meetingMode) {
|
switch (mode || meetingMode) {
|
||||||
case 'FreedomMode':
|
case 'FreedomMode':
|
||||||
return '自由者模式'
|
return '宫格模式'
|
||||||
case 'StandardMode':
|
case 'StandardMode':
|
||||||
return '标准模式'
|
return '标准模式'
|
||||||
case 'SpeakerMode':
|
case 'SpeakerMode':
|
||||||
|
|
@ -2575,6 +2617,32 @@ const Meeting: React.FC = () => {
|
||||||
}
|
}
|
||||||
message.success('操作成功')
|
message.success('操作成功')
|
||||||
}
|
}
|
||||||
|
// 设置模式
|
||||||
|
const setSyncView = (mode: string) => {
|
||||||
|
confirm({
|
||||||
|
title: '提示',
|
||||||
|
icon: <ExclamationCircleFilled />,
|
||||||
|
content: `是否将当前房间切换为${getMeetingContentBodyLeftModeText(mode)}?`,
|
||||||
|
centered: true,
|
||||||
|
okText: '确定',
|
||||||
|
cancelText: '取消',
|
||||||
|
async onOk() {
|
||||||
|
await window.electron.onInvoke('sendOper2User', {
|
||||||
|
uid: userInfo.uid,
|
||||||
|
contentString: JSON.stringify({
|
||||||
|
mode,
|
||||||
|
type: 'mode'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
setModeOpen(false)
|
||||||
|
storage.setItem('meetingMode', mode)
|
||||||
|
},
|
||||||
|
onCancel() {
|
||||||
|
setModeOpen(false)
|
||||||
|
storage.setItem('meetingMode', mode)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
// 判断是否出现滚动条
|
// 判断是否出现滚动条
|
||||||
const hasScrollbar = () => {
|
const hasScrollbar = () => {
|
||||||
let element = document.getElementById('videoView') as HTMLDivElement
|
let element = document.getElementById('videoView') as HTMLDivElement
|
||||||
|
|
@ -2773,19 +2841,23 @@ const Meeting: React.FC = () => {
|
||||||
<span className='drag' style={{ marginTop: '2px', marginLeft: '4px' }}><Code roomNum={state.channelId}></Code></span>
|
<span className='drag' style={{ marginTop: '2px', marginLeft: '4px' }}><Code roomNum={state.channelId}></Code></span>
|
||||||
</div>
|
</div>
|
||||||
<div className='drag'>
|
<div className='drag'>
|
||||||
<Popover
|
{role.ID.includes(userInfo.roleId) ? <Popover
|
||||||
content={
|
content={
|
||||||
<div className='modePopover'>
|
<div className='modePopover'>
|
||||||
<div onClick={() => {
|
<div onClick={() => {
|
||||||
setModeOpen(false)
|
setSyncView('FreedomMode')
|
||||||
storage.setItem('meetingMode', 'StandardMode')
|
}}>
|
||||||
|
<img src={ImageUrl.icon57} alt="" />
|
||||||
|
<span>宫格模式</span>
|
||||||
|
</div>
|
||||||
|
<div onClick={() => {
|
||||||
|
setSyncView('StandardMode')
|
||||||
}}>
|
}}>
|
||||||
<img src={ImageUrl.icon43} alt="" />
|
<img src={ImageUrl.icon43} alt="" />
|
||||||
<span>标准模式</span>
|
<span>标准模式</span>
|
||||||
</div>
|
</div>
|
||||||
<div onClick={() => {
|
<div onClick={() => {
|
||||||
setModeOpen(false)
|
setSyncView('SpeakerMode')
|
||||||
storage.setItem('meetingMode', 'SpeakerMode')
|
|
||||||
}}>
|
}}>
|
||||||
<img src={ImageUrl.icon44} alt="" />
|
<img src={ImageUrl.icon44} alt="" />
|
||||||
<span>演讲模式</span>
|
<span>演讲模式</span>
|
||||||
|
|
@ -2803,10 +2875,14 @@ const Meeting: React.FC = () => {
|
||||||
onOpenChange={() => setModeOpen(true)}
|
onOpenChange={() => setModeOpen(true)}
|
||||||
>
|
>
|
||||||
<div className={styles.meetingGrayButton}>
|
<div className={styles.meetingGrayButton}>
|
||||||
{meetingMode === 'StandardMode' ? <img src={ImageUrl.icon43} alt="" /> : <img src={ImageUrl.icon44} alt="" />}
|
{meetingMode === 'StandardMode' ?
|
||||||
|
<img src={ImageUrl.icon43} alt="" /> :
|
||||||
|
meetingMode === 'FreedomMode' ?
|
||||||
|
<img src={ImageUrl.icon57} alt="" /> :
|
||||||
|
<img src={ImageUrl.icon44} alt="" />}
|
||||||
<span>{getMeetingContentBodyLeftModeText()}</span>
|
<span>{getMeetingContentBodyLeftModeText()}</span>
|
||||||
</div>
|
</div>
|
||||||
</Popover>
|
</Popover> : null}
|
||||||
<Operation></Operation>
|
<Operation></Operation>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -2814,7 +2890,7 @@ const Meeting: React.FC = () => {
|
||||||
<div className={styles.meetingContentBody}>
|
<div className={styles.meetingContentBody}>
|
||||||
<div className={`${styles.meetingContentBodyLeft} drag`}>
|
<div className={`${styles.meetingContentBodyLeft} drag`}>
|
||||||
{isAdmin && currentLookUserAccount ? getSettingIcon() : null}
|
{isAdmin && currentLookUserAccount ? getSettingIcon() : null}
|
||||||
<div className={getMeetingContentBodyLeftModeClass()} id='videoView' style={meetingMode === 'SpeakerMode' && isVideoFullScreen ? { width: '0' } : {}}>
|
<div className={getMeetingContentBodyLeftModeClass(isAdmin)} id='videoView' style={meetingMode === 'SpeakerMode' && isVideoFullScreen ? { width: '0' } : {}}>
|
||||||
{roomUserList.map((item: any, index: number) => {
|
{roomUserList.map((item: any, index: number) => {
|
||||||
return (item.isRoom && item.isAdmin ? <div
|
return (item.isRoom && item.isAdmin ? <div
|
||||||
id={item.uid}
|
id={item.uid}
|
||||||
|
|
@ -2939,7 +3015,13 @@ const Meeting: React.FC = () => {
|
||||||
</div> : null)
|
</div> : null)
|
||||||
}
|
}
|
||||||
)}
|
)}
|
||||||
{hasScrollbar() ? <div>
|
{/* <div className={`${styles.meetingContentSwiperCard}`}>
|
||||||
|
<div className={`${styles.meetingContentSwiperCardVdeio}`}>
|
||||||
|
<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> */}
|
||||||
|
{meetingMode !== "FreedomMode" && hasScrollbar() ? <div>
|
||||||
{meetingMode === "StandardMode" ? <div className={`${styles.meetingContentSwiperCaret}`} style={{ left: '20px', top: '66px' }} onClick={() => {
|
{meetingMode === "StandardMode" ? <div className={`${styles.meetingContentSwiperCaret}`} style={{ left: '20px', top: '66px' }} onClick={() => {
|
||||||
const container = document.getElementById('videoView') as HTMLElement;
|
const container = document.getElementById('videoView') as HTMLElement;
|
||||||
container.scrollLeft -= 100
|
container.scrollLeft -= 100
|
||||||
|
|
@ -2963,7 +3045,7 @@ const Meeting: React.FC = () => {
|
||||||
<CaretDownOutlined />
|
<CaretDownOutlined />
|
||||||
</div>}
|
</div>}
|
||||||
</div> : null}
|
</div> : null}
|
||||||
{currentLookUserStatus === 0 ?
|
{meetingMode !== "FreedomMode" && currentLookUserStatus === 0 ?
|
||||||
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
||||||
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-camera-primary'>
|
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-camera-primary'>
|
||||||
{<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
{<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
||||||
|
|
@ -2974,7 +3056,7 @@ const Meeting: React.FC = () => {
|
||||||
<FullscreenOutlined className={styles.meetingContentSwiperCardFullScreenIcon} title='全屏' onClick={() => setIsVideoFullScreen(true)} />}
|
<FullscreenOutlined className={styles.meetingContentSwiperCardFullScreenIcon} title='全屏' onClick={() => setIsVideoFullScreen(true)} />}
|
||||||
{meetingContentUser(currentLookUserAccount, true)}
|
{meetingContentUser(currentLookUserAccount, true)}
|
||||||
</div> : null}
|
</div> : null}
|
||||||
{currentLookUserStatus === 1 ?
|
{meetingMode !== "FreedomMode" && currentLookUserStatus === 1 ?
|
||||||
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
||||||
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-camera-primary'>
|
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-camera-primary'>
|
||||||
{<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
{<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
||||||
|
|
@ -2986,7 +3068,7 @@ const Meeting: React.FC = () => {
|
||||||
{meetingContentUser(currentLookUserAccount, true)}
|
{meetingContentUser(currentLookUserAccount, true)}
|
||||||
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentLookUserAccount)}
|
{currentLookUserAccount.enableCamera ? null : meetingContentError(currentLookUserAccount)}
|
||||||
</div> : null}
|
</div> : null}
|
||||||
{currentLookUserStatus === 2 ?
|
{meetingMode !== "FreedomMode" && currentLookUserStatus === 2 ?
|
||||||
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
||||||
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-screen'>
|
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-screen'>
|
||||||
<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
||||||
|
|
@ -2997,7 +3079,7 @@ const Meeting: React.FC = () => {
|
||||||
<FullscreenOutlined className={styles.meetingContentSwiperCardFullScreenIcon} title='全屏' onClick={() => setIsVideoFullScreen(true)} />}
|
<FullscreenOutlined className={styles.meetingContentSwiperCardFullScreenIcon} title='全屏' onClick={() => setIsVideoFullScreen(true)} />}
|
||||||
{meetingContentUser(currentLookUserAccount, true)}
|
{meetingContentUser(currentLookUserAccount, true)}
|
||||||
</div> : null}
|
</div> : null}
|
||||||
{currentLookUserStatus === 3 ?
|
{meetingMode !== "FreedomMode" && currentLookUserStatus === 3 ?
|
||||||
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
||||||
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-remote-screen'>
|
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-remote-screen'>
|
||||||
<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
||||||
|
|
@ -3008,7 +3090,7 @@ const Meeting: React.FC = () => {
|
||||||
<FullscreenOutlined className={styles.meetingContentSwiperCardFullScreenIcon} title='全屏' onClick={() => setIsVideoFullScreen(true)} />}
|
<FullscreenOutlined className={styles.meetingContentSwiperCardFullScreenIcon} title='全屏' onClick={() => setIsVideoFullScreen(true)} />}
|
||||||
{meetingContentUser(currentLookUserAccount, true)}
|
{meetingContentUser(currentLookUserAccount, true)}
|
||||||
</div> : null}
|
</div> : null}
|
||||||
{currentLookUserStatus === 4 ?
|
{meetingMode !== "FreedomMode" && currentLookUserStatus === 4 ?
|
||||||
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
<div className={`${styles.meetingContentSwiperCard} ${setMeetingContentSwiperCardClass()} ${setMeetingContentSwiperCardFullScreenClass()}`}>
|
||||||
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-remote-camera'>
|
<div className={`${styles.meetingContentSwiperCardVdeio}`} id='video-source-remote-camera'>
|
||||||
<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
<div className={styles.meetingContentSwiperCardVdeioLoading}>
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,7 @@ import icon54 from '@/assets/icon54.png'
|
||||||
import icon55 from '@/assets/icon55.png'
|
import icon55 from '@/assets/icon55.png'
|
||||||
import icon56 from '@/assets/icon56.png'
|
import icon56 from '@/assets/icon56.png'
|
||||||
import icon56Active from '@/assets/icon56-active.png'
|
import icon56Active from '@/assets/icon56-active.png'
|
||||||
|
import icon57 from '@/assets/icon57.png'
|
||||||
export default {
|
export default {
|
||||||
loading,
|
loading,
|
||||||
icon,
|
icon,
|
||||||
|
|
@ -174,5 +175,6 @@ export default {
|
||||||
icon54,
|
icon54,
|
||||||
icon55,
|
icon55,
|
||||||
icon56,
|
icon56,
|
||||||
icon56Active
|
icon56Active,
|
||||||
|
icon57,
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue