preload.js 1.4 KB

1234567891011121314151617181920212223242526272829
  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. onBroadcast: (callback) => ipcRenderer.on('message-broadcast', (event, data) => callback(data)),
  22. // 下载文件
  23. downloadFile: (url, filename, path) => {
  24. return ipcRenderer.invoke('downloadFile', { url, filename, path });
  25. },
  26. });