29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
|
|
"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);
|
||
|
|
}
|
||
|
|
});
|