diff --git a/main.js b/main.js index cfc8957..d921379 100644 --- a/main.js +++ b/main.js @@ -367,6 +367,11 @@ app.on('ready', () => { ipcMain.handle('mainWindowCenter', () => { mainWindowCenter() }); + ipcMain.handle('windowHandleMessage', (event, data) => { + if (childWindow[data.key]) { + childWindow[data.key].webContents.send('windowHandleMessageCallBack', data) + } + }); } }); // 检测更新,在你想要检查更新的时候执行,renderer事件触发后的操作自行编写 diff --git a/preload.js b/preload.js index 20db99d..ba34b71 100644 --- a/preload.js +++ b/preload.js @@ -105,4 +105,12 @@ window.electron = { mainWindowCenter: () => { ipcRenderer.invoke('mainWindowCenter') }, + // 窗口通信传参 + windowHandleMessage: (data) => { + ipcRenderer.invoke('windowHandleMessage', data) + }, + // 窗口通信回调 + windowHandleMessageCallBack: (callback) => { + ipcRenderer.on('windowHandleMessageCallBack', callback) + }, } diff --git a/src/page/Meeting/ShareScreenWindow/index.tsx b/src/page/Meeting/ShareScreenWindow/index.tsx index 755f202..c9b0c01 100644 --- a/src/page/Meeting/ShareScreenWindow/index.tsx +++ b/src/page/Meeting/ShareScreenWindow/index.tsx @@ -88,6 +88,12 @@ const ShareScreenWindow: React.FC = () => { channel.postMessage({ type: 'shareScreenWindowGetTime' }); + window.electron.windowHandleMessageCallBack((_e: any, data: any) => { + let domMe = document.getElementById(`micr-item-${userInfo.uid}`) as HTMLDivElement; + if (domMe) { + domMe.style.height = `${data.parmes.currentSpeakUserMe}%` + } + }) return () => { clearInterval(timeout) channel.close(); diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 7a07382..4dbe7c0 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -960,10 +960,12 @@ const Meeting: React.FC = () => { if (domMe && !item.uid) { const percentage = (item.volume / 255) * 100 domMe.style.height = `${percentage}%` - channel.postMessage({ - type: 'currentSpeakUserMe', - currentSpeakUserMe: percentage, - }); + window.electron.windowHandleMessage({ + key: 'shareScreenWindow', + parmes: { + currentSpeakUserMe: percentage, + } + }) } }); } diff --git a/src/render.d.ts b/src/render.d.ts index 597739c..3be8a2c 100644 --- a/src/render.d.ts +++ b/src/render.d.ts @@ -26,6 +26,8 @@ export interface IElectronAPI { closeChildWindow: (key: string) => void; mainWindowCenter: () => any; mainWindowHide: () => any; + windowHandleMessage: (data: any) => {} + windowHandleMessageCallBack: (callBack: Function) => void; } declare global {