21 lines
1022 B
JavaScript
21 lines
1022 B
JavaScript
// Electron 预加载脚本:以 contextBridge 向渲染进程暴露最小桌面端 API
|
||
// 前端凭 window.desktop 是否存在来区分「桌面端 / 浏览器」两种运行环境
|
||
const { contextBridge, ipcRenderer } = require('electron')
|
||
|
||
// 同步读取后端服务器地址:必须在页面脚本执行前就绪(axios/WS 初始化要用)
|
||
const serverBase = ipcRenderer.sendSync('nlg:get-server-base')
|
||
|
||
contextBridge.exposeInMainWorld('desktop', {
|
||
// 后端服务器地址(形如 http://127.0.0.1:8080,结尾不带斜杠)
|
||
serverBase,
|
||
// 修改服务器地址(校验通过后主进程会自动重载页面)
|
||
setServerBase: (url) => ipcRenderer.invoke('nlg:set-server-base', url),
|
||
// 检查桌面端新版本(silent=true 时已是最新版不弹窗,用于启动自动检查)
|
||
checkUpdate: (silent = false) => ipcRenderer.invoke('nlg:check-update', silent),
|
||
// 运行环境版本信息
|
||
versions: {
|
||
electron: process.versions.electron,
|
||
chrome: process.versions.chrome,
|
||
},
|
||
})
|