preload.js 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. const { contextBridge, ipcRenderer } = require('electron');
  2. contextBridge.exposeInMainWorld('electronAPI', {
  3. openWindow: (msg) => ipcRenderer.invoke('openWindow', msg),
  4. closeAllWindow: (msg) => ipcRenderer.send('closeAllWindow', msg),
  5. getData: (msg) => ipcRenderer.send('getData', msg),
  6. postData: (msg) => ipcRenderer.send('postData', msg),
  7. setProxy: (msg) => ipcRenderer.send('setProxy', msg),
  8. addPreLoadCode: (msg) => ipcRenderer.send('addPreLoadCode', msg),
  9. setStoData: (msg) => ipcRenderer.send('setStoData', msg),
  10. getStoData: (msg) => ipcRenderer.send('getStoData', msg),
  11. closeWindow: (msg) => ipcRenderer.send('closeWindow', msg),
  12. changeProxy: (msg) => ipcRenderer.send('changeProxy', msg),
  13. readConfig: (msg) => ipcRenderer.send('readConfig', msg),
  14. saveConfig: (msg) => ipcRenderer.send('saveConfig', msg),
  15. setMaxWindowOpenNum: (msg) => ipcRenderer.send('setMaxWindowOpenNum', msg),
  16. readdir: (msg) => ipcRenderer.send('readdir', msg),
  17. download: (msg) => ipcRenderer.send('download', msg),
  18. broadcast: (msg) => ipcRenderer.send('broadcast-message', msg),
  19. saveFile: (msg) => ipcRenderer.invoke('saveFile', msg),
  20. readFile: (msg) => ipcRenderer.invoke('readFile', msg),
  21. // 截屏
  22. capture: () => ipcRenderer.send('capture'),
  23. onBroadcast: (callback) => ipcRenderer.on('message-broadcast', (event, data) => callback(data)),
  24. // 下载文件
  25. downloadFile: (url, filename, path) => {
  26. return ipcRenderer.invoke('downloadFile', { url, filename, path });
  27. },
  28. });