From e688824be07024b2d39c52cbc5b2c4bc7ac134c6 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Fri, 9 Aug 2024 15:28:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=9C=E6=AD=A2=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/page/Meeting/index.module.scss | 14 ++++++++++- src/page/Meeting/index.tsx | 38 +++++++++++++++++++++++------- src/utils/package/agora.ts | 4 ++-- src/utils/package/signalr.ts | 5 ++++ 4 files changed, 49 insertions(+), 12 deletions(-) diff --git a/src/page/Meeting/index.module.scss b/src/page/Meeting/index.module.scss index 50f1197..165b905 100644 --- a/src/page/Meeting/index.module.scss +++ b/src/page/Meeting/index.module.scss @@ -276,7 +276,19 @@ } } - @include meetingContent() + @include meetingContent(); + + .meetingContentSwiperCardShare { + position: absolute; + left: 50%; + top: 50%; + z-index: 2; + transform: translate(-50%, -50%); + background-color: rgba(0, 0, 0, 0.5); + color: white; + padding: 10px 20px; + white-space: nowrap; + } } .meetingContentBodyRight { diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 7ff0265..3cc22fd 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -819,7 +819,11 @@ const Meeting: React.FC = () => { key={index} onClick={() => { setCurrentVideoId(item.uid) - renderVideo(item.uid) + if (String(isShare) === item.screenShareId) { + renderVideo(item.screenShareId) + } else { + renderVideo(item.uid) + } }} >
@@ -829,6 +833,9 @@ const Meeting: React.FC = () => {
{meetingContentUser(item)} {item.enableCamera ? null : meetingContentError(currentVideoId, item)} + {String(isShare) === item.screenShareId ?
+ 屏幕分享中 +
: null} : null ) } @@ -1042,13 +1049,26 @@ const Meeting: React.FC = () => { - {user.roleId === '1' ?
{ - await onInvoke('sendOper', { - roomNum: state.channelId, - type: 1, - }) - leaveChannel(true) - }}>全员结束会议
: null} + {user.roleId === '1' ? + { + await onInvoke('sendOper', { + roomNum: state.channelId, + type: 1, + }) + leaveChannel(true) + }} + onCancel={() => { + + }} + okText="结束" + cancelText="取消" + > +
全员结束会议
+
+ : null}
leaveChannel()}>仅自己离开
{ setOpen(false) }}>取消
@@ -1111,7 +1131,7 @@ const Meeting: React.FC = () => { }} style={{ backgroundColor: '#31353A', marginRight: '14px' }}>取消 {isShare ? { setIsSharePopConfirm(false) diff --git a/src/utils/package/agora.ts b/src/utils/package/agora.ts index 1b32226..af9957e 100644 --- a/src/utils/package/agora.ts +++ b/src/utils/package/agora.ts @@ -81,7 +81,7 @@ const agora = { }, // 本地加入 setupLocalVideo: async (item: any) => { - if (item.view.childNodes.length === 1) { + if (item.view?.childNodes.length === 1) { await rtcEngine.setupLocalVideo({ renderMode: agora.getRrenderMode(item.uid), sourceType: item.sourceType, @@ -93,7 +93,7 @@ const agora = { }, // 远端加入 setupRemoteVideoJoin: async (item: any) => { - if (item.view.childNodes.length === 1) { + if (item.view?.childNodes.length === 1) { await rtcEngine.setupRemoteVideo( { renderMode: agora.getRrenderMode(item.uid), diff --git a/src/utils/package/signalr.ts b/src/utils/package/signalr.ts index a98f685..a8fc798 100644 --- a/src/utils/package/signalr.ts +++ b/src/utils/package/signalr.ts @@ -47,6 +47,7 @@ export const onInvitation = (callBack: Function) => { } export const onSignalr = (callBack: Function) => { if (connection) { + // 聊天 connection.on("ReceiveMessage", (uid: string, userName: string, message: string) => { callBack({ key: 'ReceiveMessage', @@ -58,22 +59,26 @@ export const onSignalr = (callBack: Function) => { key: 'RefreshUserList' }) }); + // 扩展操作 connection.on("Operation", (type: number) => { callBack({ key: 'Operation', type }) }); + // 全员离开房间 connection.on("ForceExitRoom", () => { callBack({ key: 'ForceExitRoom', }) }); + // 全员看他 connection.on("ShowUser", () => { callBack({ key: 'ShowUser', }) }); + // 更新视图模式 connection.on("RefreshView", (type: string) => { callBack({ key: 'RefreshView',