diff --git a/main.js b/main.js index c942700..0542530 100644 --- a/main.js +++ b/main.js @@ -10,6 +10,7 @@ const { dialog, crashReporter, desktopCapturer, + powerSaveBlocker, } = require('electron'); const path = require('node:path') const updateJs = require('./src/utils/package/update') @@ -28,6 +29,7 @@ let regKey; let connection = null; let envStr; let startNumber = 0; +powerSaveBlocker.start('prevent-display-sleep') class AppWindow extends BrowserWindow { constructor(config) { diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index fcce7c9..8072074 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -212,6 +212,7 @@ const Meeting: React.FC = () => { useEffect(() => { window.electron.createChildWindow('hide') let time: NodeJS.Timeout; + let refreshTime: NodeJS.Timeout; setUser(userInfo) window.electron.getIsMaximized().then((res: boolean) => { if (!res) { @@ -418,6 +419,24 @@ const Meeting: React.FC = () => { return [] }) }, 1000) + refreshTime = setInterval(() => { + GetRoomUser(state.channelId).then(res => { + if (res.code === 200) { + res.data.forEach((item: any) => { + setRoomUserList((data: any) => { + let row = data.find((row: any) => row.uid == item.uid); + if (row) { + row.enableCamera = item.enableCamera; + row.enableMicr = item.enableMicr; + row.isRoomManager = item.isRoomManager; + row.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager; + } + return data + }) + }); + } + }) + }, 1000 * 30) // 首次加载图标更新 const firstFooterList = [...footerList] firstFooterList[0][0].title = state.enableMicr ? '静音' : '解除静音' @@ -486,6 +505,7 @@ const Meeting: React.FC = () => { window.removeEventListener('customStorageChange', handleCustomStorageChange); window.removeEventListener('wheel', handleWheelChange); clearInterval(time) + clearInterval(refreshTime) channel.close(); window.electron.closeChildWindow('shareScreenWindow') };