1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| const { ipcMain } = require('electron')
| class ProcessMessage {
| /**
| * 进程通信
| * @param {*} win 创建的窗口
| */
| constructor(win) {
| this.win = win
| }
| init() {
| this.watch()
| this.on()
| }
| // 监听渲染进程事件通信
| watch() {
| // 页面准备好了
| ipcMain.on('page-ready', () => {
| this.sendFocus()
| })
| }
| // 监听窗口、app、等模块的事件
| on() {
| // 监听窗口是否聚焦
| this.win.on('focus', () => {
| this.sendFocus(true)
| })
| this.win.on('blur', () => {
| this.sendFocus(false)
| })
| }
| /**
| * 窗口聚焦事件发送
| * @param {*} isActive 是否聚焦
| */
| sendFocus(isActive) {
| // 主线程发送事件给窗口
| this.win.webContents.send('win-focus', isActive)
| }
| }
|
| module.exports = ProcessMessage
|
|