Files
timeline-desktop/out/preload/index.js

29 lines
1.1 KiB
JavaScript
Raw Normal View History

"use strict";
const electron = require("electron");
electron.contextBridge.exposeInMainWorld("electronAPI", {
// 应用信息
getVersion: () => electron.ipcRenderer.invoke("get-version"),
getPlatform: () => electron.ipcRenderer.invoke("get-platform"),
// 更新相关
checkUpdate: () => electron.ipcRenderer.invoke("check-update"),
downloadUpdate: () => electron.ipcRenderer.invoke("download-update"),
installUpdate: () => electron.ipcRenderer.invoke("install-update"),
// 更新事件监听
onUpdateAvailable: (callback) => {
electron.ipcRenderer.on("update-available", (_, info) => callback(info));
},
onUpdateDownloaded: (callback) => {
electron.ipcRenderer.on("update-downloaded", (_, info) => callback(info));
},
// 外部链接
openExternal: (url) => electron.ipcRenderer.invoke("open-external", url),
// 导航事件
onNavigate: (callback) => {
electron.ipcRenderer.on("navigate", (_, path) => callback(path));
},
// 移除监听器
removeAllListeners: (channel) => {
electron.ipcRenderer.removeAllListeners(channel);
}
});