yangjie #47

Merged
yangqiang merged 49 commits from yangjie into master 2025-01-24 13:43:09 +08:00
3 changed files with 61 additions and 5 deletions
Showing only changes of commit 8bd09d6f01 - Show all commits

12
main.js
View File

@ -186,6 +186,7 @@ app.on('ready', () => {
connection.off('SetDriver'); connection.off('SetDriver');
connection.off('ShowDriverList'); connection.off('ShowDriverList');
connection.off('ModifyNickName'); connection.off('ModifyNickName');
connection.off('JoinChannelCallback');
} }
}); });
ipcMain.handle('onStop', (event) => { ipcMain.handle('onStop', (event) => {
@ -221,11 +222,11 @@ app.on('ready', () => {
await connection.invoke(str, data.uid, data.driversJsonString) await connection.invoke(str, data.uid, data.driversJsonString)
break; break;
case 'joinChannel': case 'joinChannel':
// 设置某个人的设备列表 // 加入房间
await connection.invoke(str, data.roomNum, data.enableMicr, data.enableCamera, data.isRoomManager || false) await connection.invoke(str, data.roomNum, data.enableMicr, data.enableCamera, data.isRoomManager || false)
break; break;
case 'levelChannel': case 'levelChannel':
// 设置某个人的设备列表 // 退出房间
await connection.invoke(str, data.roomNum) await connection.invoke(str, data.roomNum)
break; break;
} }
@ -383,6 +384,13 @@ app.on('ready', () => {
nickName nickName
}) })
}); });
// 加入房间回调
connection.on("JoinChannelCallback", (isSuccess) => {
mainWindow.webContents.send('onSignalr', {
key: 'JoinChannelCallback',
isSuccess,
})
});
} }
}); });
// 放大缩小退出窗口 // 放大缩小退出窗口

View File

@ -204,6 +204,7 @@ const Meeting: React.FC = () => {
]) ])
const [roomUserItem, setRoomUserItem] = useState<any>(null) const [roomUserItem, setRoomUserItem] = useState<any>(null)
const [isAdmin, setIsAdmin] = useState<number>(0) const [isAdmin, setIsAdmin] = useState<number>(0)
const [_socketRemberNumber, setSocketRemberNumber] = useState<number>(0)
const [api, contextHolder] = notification.useNotification({ const [api, contextHolder] = notification.useNotification({
stack: { stack: {
threshold: 3 threshold: 3
@ -895,6 +896,47 @@ const Meeting: React.FC = () => {
case 'ModifyNickName': case 'ModifyNickName':
setAllUserListData('ModifyNickName', item) setAllUserListData('ModifyNickName', item)
break; break;
// 加入房间回调
case 'JoinChannelCallback':
if (item.isSuccess) {
await getRoomUser()
} else {
setSocketRemberNumber(res => {
if (res >= 3) {
confirm({
keyboard: false,
title: '提示',
icon: <ExclamationCircleFilled />,
content: `加入房间失败!`,
centered: true,
okText: '退出',
wrapClassName: 'hideCancelText',
cancelText: '',
async onOk() {
leaveChannel()
},
})
} else {
setTimeout(() => {
async function setUserStatus(res: any) {
let userItem = res.find((item: any) => item.uid === userInfo.uid)
await window.electron.onInvoke('joinChannel', {
roomNum: state.channelId,
enableMicr: !storeDevice[0][0].active,
enableCamera: !storeDevice[0][1].active,
isRoomManager: userItem ? userItem.isRoomManager : false,
})
}
setRoomUserList((res: any) => {
setUserStatus(res)
return res
})
}, 3000);
}
return res >= 3 ? 3 : res++
})
}
break;
} }
}) })
return () => { return () => {
@ -1947,9 +1989,8 @@ const Meeting: React.FC = () => {
roomNum: state.channelId, roomNum: state.channelId,
enableMicr: !storeDevice[0][0].active, enableMicr: !storeDevice[0][0].active,
enableCamera: !storeDevice[0][1].active, enableCamera: !storeDevice[0][1].active,
isRoomManager: userItem.isRoomManager isRoomManager: userItem ? userItem.isRoomManager : false,
}) })
await getRoomUser()
await getShowUser() await getShowUser()
if (userItem.isRoomManager) { if (userItem.isRoomManager) {
await postOpenMicr(!storeDevice[0][0].active, userInfo.uid) await postOpenMicr(!storeDevice[0][0].active, userInfo.uid)
@ -2231,7 +2272,6 @@ const Meeting: React.FC = () => {
enableMicr, enableMicr,
enableCamera enableCamera
}) })
await getRoomUser()
} }
// 离开房间 // 离开房间
const getLeave = async (): Promise<void> => { const getLeave = async (): Promise<void> => {

View File

@ -409,4 +409,12 @@ $pagination-hover-background-color: #5575F2;
.ant-rate .ant-rate-star-first, .ant-rate .ant-rate-star-first,
.ant-rate .ant-rate-star-second { .ant-rate .ant-rate-star-second {
color: gray; color: gray;
}
.hideCancelText {
.ant-modal-confirm-btns {
>button:nth-child(1){
display: none;
}
}
} }