import { contextBridge, ipcRenderer } from 'electron' const electronAPI = { sendMessage: (message: string) => ipcRenderer.send('message', message), downloadUpdate: (downloadUrl: string) => ipcRenderer.invoke('download-update', downloadUrl), getDownloadProgress: () => ipcRenderer.invoke('get-download-progress'), installUpdate: () => ipcRenderer.invoke('install-update'), cancelDownload: () => ipcRenderer.invoke('cancel-download'), getUpdateStatus: () => ipcRenderer.invoke('get-update-status'), // 添加文件保存对话框 API showSaveDialog: (options: any) => ipcRenderer.invoke('show-save-dialog', options), // 添加文件夹选择对话框 API showOpenDialog: (options: any) => ipcRenderer.invoke('show-open-dialog', options), // 添加文件写入 API writeFile: (filePath: string, data: Uint8Array) => ipcRenderer.invoke('write-file', filePath, data), onDownloadProgress: (callback: (progress: any) => void) => { ipcRenderer.on('download-progress', (event, progress) => callback(progress)) }, removeDownloadProgressListener: () => { ipcRenderer.removeAllListeners('download-progress') } } contextBridge.exposeInMainWorld('electronAPI', electronAPI) export type ElectronApi = typeof electronAPI