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',