diff --git a/main.js b/main.js index a9d298a..0277e83 100644 --- a/main.js +++ b/main.js @@ -349,6 +349,14 @@ app.on('ready', () => { break; } }); + // 隐藏显示子窗口 + ipcMain.handle('setChildWindowShow', (event, config) => { + if (config.bool) { + childWindow[config.key].show() + } else { + childWindow[config.key].hide() + } + }); // 隐藏主窗口 ipcMain.handle('mainWindowHide', () => { mainWindowHide() diff --git a/preload.js b/preload.js index 7613583..20db99d 100644 --- a/preload.js +++ b/preload.js @@ -94,6 +94,10 @@ window.electron = { ipcRenderer.invoke('setChildWindow', config) }, // 隐藏主窗口 + setChildWindowShow: (config) => { + ipcRenderer.invoke('setChildWindowShow', config) + }, + // 隐藏主窗口 mainWindowHide: () => { ipcRenderer.invoke('mainWindowHide') }, diff --git a/src/page/Meeting/NoticeWindow/index.tsx b/src/page/Meeting/NoticeWindow/index.tsx index 84fcfb1..31ca198 100644 --- a/src/page/Meeting/NoticeWindow/index.tsx +++ b/src/page/Meeting/NoticeWindow/index.tsx @@ -78,10 +78,9 @@ const NoticeWindow: React.FC = () => { time = setInterval(() => { const dom = document.getElementsByClassName('ant-notification') if (dom.length === 0) { - window.electron.setChildWindow({ - height: 1, - width: 1, + window.electron.setChildWindowShow({ key: 'noticeWindow', + bool: false }) } }, 1000) diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index 9d5efa2..7a07382 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -660,17 +660,14 @@ const Meeting: React.FC = () => { case 'ApplyToSpeak': setIsScreenCapture(bool => { if (bool) { - window.electron.setChildWindow({ - width: 388, - height: 150, + window.electron.setChildWindowShow({ key: 'noticeWindow', + bool: true }) - setTimeout(() => { - channel.postMessage({ - type: 'noticeItem', - noticeItem: item - }); - }, 1000) + channel.postMessage({ + type: 'noticeItem', + noticeItem: item + }); } else { api.open({ message: '', diff --git a/src/render.d.ts b/src/render.d.ts index 5d64847..597739c 100644 --- a/src/render.d.ts +++ b/src/render.d.ts @@ -22,6 +22,7 @@ export interface IElectronAPI { getRegistry: () => any; createChildWindow: (config: any) => void; setChildWindow: (config: any) => void; + setChildWindowShow: (config: any) => void; closeChildWindow: (key: string) => void; mainWindowCenter: () => any; mainWindowHide: () => any;