const { contextBridge, ipcRenderer } = require('electron'); // 暴露安全的 API 给渲染进程 contextBridge.exposeInMainWorld('electronAPI', { // 配置管理 getConfig: () => ipcRenderer.invoke('get-config'), saveConfig: (config) => ipcRenderer.invoke('save-config', config), // 企业微信连接 connectWeCom: (botConfig) => ipcRenderer.invoke('connect-wecom', botConfig), disconnectWeCom: (botId) => ipcRenderer.invoke('disconnect-wecom', botId), // OpenClaw 连接 connectOpenClaw: (config) => ipcRenderer.invoke('connect-openclaw', config), disconnectOpenClaw: () => ipcRenderer.invoke('disconnect-openclaw'), // 连接状态 getConnectionStatus: () => ipcRenderer.invoke('get-connection-status'), // 消息发送 sendWeComMessage: (botId, message) => ipcRenderer.invoke('send-wecom-message', botId, message), // 文件选择 selectFile: (options) => ipcRenderer.invoke('select-file', options), // 测试消息 sendTestMessage: (botId, chatId, text) => ipcRenderer.invoke('send-test-message', botId, chatId, text), sendTestOpenClawMessage: (text) => ipcRenderer.invoke('send-test-openclaw-message', text), // 事件监听 onWeComEvent: (callback) => { ipcRenderer.on('wecom-event', (event, data) => callback(data)); }, onOpenClawEvent: (callback) => { ipcRenderer.on('openclaw-event', (event, data) => callback(data)); }, // OpenClaw 详细日志 onOpenClawLog: (callback) => { ipcRenderer.on('openclaw-log', (event, data) => callback(data)); }, // 移除事件监听 removeAllListeners: (channel) => { ipcRenderer.removeAllListeners(channel); } });