Files
live-stream-app/src/preload/index.ts

31 lines
850 B
TypeScript
Raw Normal View History

2025-11-11 21:11:09 +08:00
import { contextBridge, ipcRenderer } from "electron";
import { electronAPI } from "@electron-toolkit/preload";
2025-10-27 17:54:11 +08:00
2025-11-11 21:11:09 +08:00
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");
},
};
2025-10-27 17:54:11 +08:00
if (process.contextIsolated) {
2025-11-11 21:11:09 +08:00
try {
contextBridge.exposeInMainWorld("electron", electronAPI);
contextBridge.exposeInMainWorld("api", api);
} catch (error) {
console.error(error);
}
2025-10-27 17:54:11 +08:00
} else {
2025-11-11 21:11:09 +08:00
// @ts-ignore (define in dts)
window.electron = electronAPI;
// @ts-ignore (define in dts)
window.api = api;
2025-10-27 17:54:11 +08:00
}