import { contextBridge, ipcRenderer } from "electron"; import { electronAPI } from "@electron-toolkit/preload"; const api = { installOllama: () => ipcRenderer.invoke("install-ollama-and-model"), // 监听进度 (Send/On) onInstallProgress: (callback) => { ipcRenderer.on("install-progress", (_event, value) => callback(value)); }, // 移除监听器 removeInstallProgressListeners: () => { ipcRenderer.removeAllListeners("install-progress"); }, }; if (process.contextIsolated) { try { contextBridge.exposeInMainWorld("electron", electronAPI); contextBridge.exposeInMainWorld("api", api); } catch (error) { console.error(error); } } else { // @ts-ignore (define in dts) window.electron = electronAPI; // @ts-ignore (define in dts) window.api = api; }