import { autoUpdater } from 'electron-updater'
|
import { downloaderFileCtx } from './config'
|
let mainWin = null
|
|
export const checkUpdate = (win, ipcMain) => {
|
mainWin = win
|
autoUpdater.autoDownload = true // 自动下载
|
autoUpdater.autoInstallOnAppQuit = true // 应用退出后自动安装
|
// 检测是否有更新包并通知
|
// 测试下载更新
|
autoUpdater.setFeedURL(downloaderFileCtx)
|
autoUpdater.checkForUpdates()
|
autoUpdater.on('download-progress', (prog) => {
|
mainWin.webContents.send('updateDownloadProgress', {
|
speed: Math.ceil(prog.bytesPerSecond / 1000), // 网速
|
percent: Math.ceil(prog.percent) // 百分比
|
})
|
})
|
autoUpdater.on('update-downloaded', (info) => {
|
mainWin.webContents.send('updateDownloadSuccess')
|
// 下载完成后强制用户安装,不推荐
|
// autoUpdater.quitAndInstall();
|
})
|
|
ipcMain.on('updateApp', () => {
|
autoUpdater.quitAndInstall()
|
})
|
}
|