This commit is contained in:
parent
5def31854b
commit
2d9db898f8
|
|
@ -80,3 +80,9 @@ export const GetRoomKickout = (roomNum: string, kickUid: string) =>
|
|||
url: `/room/kickout?roomNum=${roomNum}&kickUid=${kickUid}`,
|
||||
method: 'get'
|
||||
})
|
||||
|
||||
export const GetSyncView = (roomNum: string, type: string) =>
|
||||
request({
|
||||
url: `/room/sync-view?roomNum=${roomNum}&type=${type}`,
|
||||
method: 'get'
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
import styles from '@/components/SpeakerModeModal/index.module.scss'
|
||||
import { Button, message, Modal, Select, Slider } from 'antd';
|
||||
import { Checkbox, Modal } from 'antd';
|
||||
import { useState, useImperativeHandle, forwardRef } from "react";
|
||||
import { storage } from '@/utils';
|
||||
import { useLocation } from 'react-router-dom';
|
||||
import { GetSyncView } from '@/api/Meeting';
|
||||
interface Props {
|
||||
onClick: () => void;
|
||||
}
|
||||
|
|
@ -11,8 +13,13 @@ const SpeakerModeModal = forwardRef((props: any, ref: any) => {
|
|||
setIsSpeakerModeModal(true)
|
||||
}
|
||||
}))
|
||||
const { state } = useLocation();
|
||||
const [isSpeakerModeModal, setIsSpeakerModeModal] = useState(false);
|
||||
const setMode = (mode: string): void => {
|
||||
const [isView, setIsView] = useState(false);
|
||||
const setMode = async (mode: string): Promise<void> => {
|
||||
if (isView) {
|
||||
await GetSyncView(state.channelId, mode)
|
||||
}
|
||||
storage.setItem('meetingMode', mode)
|
||||
setIsSpeakerModeModal(false)
|
||||
}
|
||||
|
|
@ -34,6 +41,9 @@ const SpeakerModeModal = forwardRef((props: any, ref: any) => {
|
|||
<DualScreenMode onClick={() => setMode('DualScreenMode')} />
|
||||
<FourScreenMode onClick={() => setMode('FourScreenMode')} />
|
||||
</div>
|
||||
<Checkbox onChange={(e) => {
|
||||
setIsView(e.target.checked)
|
||||
}} value={isView}>同步所有视图</Checkbox>
|
||||
</Modal>
|
||||
</>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -193,6 +193,9 @@ const Meeting: React.FC = () => {
|
|||
case 'ForceExitRoom':
|
||||
leaveChannel()
|
||||
break;
|
||||
case 'RefreshView':
|
||||
setMeetingMode(item.type)
|
||||
break;
|
||||
}
|
||||
})
|
||||
return () => {
|
||||
|
|
|
|||
|
|
@ -40,6 +40,12 @@ export const onSignalr = (callBack: Function) => {
|
|||
key: 'ForceExitRoom',
|
||||
})
|
||||
});
|
||||
connection.on("RefreshView", (type: string) => {
|
||||
callBack({
|
||||
key: 'RefreshView',
|
||||
type
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
export const offSignalr = () => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue