preload.cjs 653 B

12345678910111213
  1. const { contextBridge, ipcRenderer } = require('electron')
  2. contextBridge.exposeInMainWorld('yaoyaoDesktop', Object.freeze({
  3. status: () => ipcRenderer.invoke('desktop:status'),
  4. retry: () => ipcRenderer.invoke('desktop:retry'),
  5. logs: () => ipcRenderer.invoke('desktop:logs'),
  6. openComputer: id => ipcRenderer.invoke('desktop-computer:open', id),
  7. computerClosed: () => ipcRenderer.invoke('desktop-computer:closed'),
  8. onComputerClose: callback => {
  9. const listener = () => callback()
  10. ipcRenderer.on('desktop-computer:request-close', listener)
  11. return () => ipcRenderer.removeListener('desktop-computer:request-close', listener)
  12. },
  13. }))