Files
get_wechat/electron-launcher/preload.js

25 lines
1.5 KiB
JavaScript

const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('electronAPI', {
startAll: () => ipcRenderer.invoke('start-all'),
startChatlog: () => ipcRenderer.send('start-chatlog'),
stopChatlog: () => ipcRenderer.send('stop-chatlog'),
startFastapi: () => ipcRenderer.send('start-fastapi'),
stopFastapi: () => ipcRenderer.send('stop-fastapi'),
startFrontend: () => ipcRenderer.send('start-frontend'),
stopFrontend: () => ipcRenderer.send('stop-frontend'),
openInApp: () => ipcRenderer.send('open-in-app'),
getProcessStatus: () => ipcRenderer.invoke('get-process-status'),
refreshCurrentAccount: () => ipcRenderer.invoke('refresh-current-account'),
onLog: (callback) => ipcRenderer.on('log', (_event, value) => callback(value)),
onProcessStarted: (callback) => ipcRenderer.on('process-started', (_event, value) => callback(value)),
onProcessStopped: (callback) => ipcRenderer.on('process-stopped', (_event, value) => callback(value)),
onProcessError: (callback) => ipcRenderer.on('process-error', (_event, value) => callback(value)),
onShowCloseWarning: (callback) => ipcRenderer.on('show-close-warning', () => callback()),
onDecryptStatus: (callback) => ipcRenderer.on('decrypt-status', (_event, value) => callback(value)),
onDecryptReady: (callback) => ipcRenderer.on('decrypt-ready', () => callback()),
onDecryptReset: (callback) => ipcRenderer.on('decrypt-reset', () => callback()),
onShowDecryptDialog: (callback) => ipcRenderer.on('show-decrypt-dialog', () => callback())
});