diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 5cbaf20..4b1c4ef 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -173,6 +173,10 @@ const Meeting: React.FC = () => { case 'RefreshUserList': getRoomUser() break; + case 'Operation': + console.log('嘻嘻', item); + leaveChannel() + break; } }) }, []) @@ -262,7 +266,12 @@ const Meeting: React.FC = () => { break; } } - + // 退出房间 + const leaveChannel = (): void => { + agora.leaveChannel() + agora.stopScreenCapture() + navigate(-1) + } // 分享屏幕 const clickSharedScreen = async (): Promise => { let data = sharedScreenList.find((item: any) => item.sourceId === sharedScreenItem.sourceId) @@ -508,16 +517,14 @@ const Meeting: React.FC = () => { -
{ - agora.leaveChannel() - agora.stopScreenCapture() - navigate(-1) +
{ + await onInvoke('sendOper', { + roomNum: state.channelId, + type: 1, + }) + leaveChannel() }}>全员结束会议
-
{ - agora.leaveChannel() - agora.stopScreenCapture() - navigate(-1) - }}>仅自己离开
+
leaveChannel()}>仅自己离开
{ setOpen(false) }}>取消
} diff --git a/src/utils/package/signalr.ts b/src/utils/package/signalr.ts index e33abdd..8597498 100644 --- a/src/utils/package/signalr.ts +++ b/src/utils/package/signalr.ts @@ -17,10 +17,10 @@ export const startSignalr = () => { } export const onSignalr = (callBack: Function) => { - if (connection){ + if (connection) { connection.on("ReceiveMessage", (uid: string, userName: string, message: string) => { callBack({ - key:'ReceiveMessage', + key: 'ReceiveMessage', uid, message, userName }) }); @@ -29,6 +29,12 @@ export const onSignalr = (callBack: Function) => { key: 'RefreshUserList' }) }); + connection.on("Operation", (type: number) => { + callBack({ + key: 'Operation', + type + }) + }); } } export const onInvoke = async (str: string, data: any) => { @@ -42,6 +48,11 @@ export const onInvoke = async (str: string, data: any) => { case 'sendChannelMsg': await connection.invoke(str, data.roomNum, data.msg) break; + case 'sendOper': + // 1:全员退出会议 + console.log(data); + await connection.invoke(str, data.roomNum, data.type) + break; } }