const { autoUpdater } = require("electron-updater") const { build } = require("../../package.json") function handleUpdate(mainWindow) { autoUpdater.setFeedURL(build.publish[0].url); // 设置下载地址 autoUpdater.autoDownload = false; // 是否自动更新 // 检查更新出错 autoUpdater.on('error', (res) => { sendUpdateMessage('error',res,'检查更新出错') }) // 检查是否有版本更新 autoUpdater.on('checking-for-update', (res) => { sendUpdateMessage('checking-for-update',res,'检查是否有版本更新') }) // 检测到有版本更新 autoUpdater.on('update-available', (res) => { sendUpdateMessage('update-available',res,'检测到有版本更新') }) // 未发现有新版本 autoUpdater.on('update-not-available', (res) => { sendUpdateMessage('update-not-available',res,'未发现有新版本') }) // 更新下载进度事件 autoUpdater.on('download-progress', progressObj => { // mainWindow.setProgressBar(progressObj.percent / 100) sendUpdateMessage('download-progress',progressObj,'更新下载进度事件') }) // 下载完成,询问用户是否更新 autoUpdater.on('update-downloaded', (event, releaseNotes, releaseName, releaseDate, updateUrl, quitAndUpdate) => { mainWindow.webContents.send('ev-should-update', { event, releaseNotes, releaseName, releaseDate, updateUrl, quitAndUpdate }) }) function sendUpdateMessage(type,res,text) { mainWindow.webContents.send('ev-message', type,res,text) } } module.exports = { handleUpdate }