he wei
2023-02-13 d432b95803ea9bbe3e43b154f799b10e37960c19
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));
    }
  }
});