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
| const {
| contextBridge,
| ipcRenderer
| } = require('electron');
|
| const validChannels = [
| 'renderer-ready',
| 'main-window-ready',
| 'open-file-dialog',
| 'selected-file',
| "show-save-dialog",
| "java-ready"
| ];
|
|
|
| contextBridge.exposeInMainWorld('api', {
| send: (channel, data) => {
| if (validChannels.includes(channel)) {
| ipcRenderer.send(channel, data);
| }
| },
| receive: (channel, func, replace) => {
| if (validChannels.includes(channel)) {
| // console.log('receive: ' + channel);
| // 如果replace 则channel事件会被覆盖 避免重复触发
| if (replace) {
| ipcRenderer._events[channel] = [];
| }
| ipcRenderer.on(channel, (event, ...args) => func(...args));
| }
| }
| });
|
|