67 lines
1.7 KiB
JavaScript
67 lines
1.7 KiB
JavaScript
import { dialog } from 'electron'
|
|
import logger from 'electron-log'
|
|
const updateURL = 'http://27.128.240.72:3000/zhuhao/AIx_Smarttalk/releases/tag/V1.0.0%28%E6%B5%8B%E8%AF%95%E7%89%88%29/'
|
|
|
|
// 主进程中的更新检查
|
|
const { autoUpdater } = require('electron-updater')
|
|
|
|
const updateInit = (win) => {
|
|
logger.info('进来了')
|
|
// 检查更新
|
|
autoUpdater.checkForUpdates()
|
|
// 自动下载
|
|
autoUpdater.autoDownload = false
|
|
// 设置版本更新服务器地址
|
|
// autoUpdater.setFeedURL(updateURL)
|
|
|
|
//监听更新事件
|
|
autoUpdater.on('update-available', (info) => {
|
|
logger.info('发现新版本')
|
|
dialog
|
|
.showMessageBox(win,{
|
|
type: 'info',
|
|
title: '新版本可用',
|
|
message: '有一个可用的新版本,要更新吗',
|
|
buttons: ['是', '否']
|
|
})
|
|
.then((result) => {
|
|
if (result.response === 0) {
|
|
// 用户选择更新,触发下载和安装
|
|
autoUpdater.downloadUpdate()
|
|
}
|
|
})
|
|
})
|
|
|
|
// 没有新版本
|
|
autoUpdater.on('update-not-available', () => {
|
|
logger.info('没有新版本')
|
|
})
|
|
|
|
// 更新发生错误
|
|
autoUpdater.on('error', () => {
|
|
logger.error('检查更新失败')
|
|
})
|
|
|
|
// 监听下载进度
|
|
autoUpdater.on('download-progress', (progressObj) => {
|
|
win.webContents.send('update-app-progress', progressObj.percent);
|
|
});
|
|
|
|
// 跟新下载完毕
|
|
autoUpdater.on('update-downloaded', () => {
|
|
dialog
|
|
.showMessageBox({
|
|
type: 'info',
|
|
title: '更新下载完成',
|
|
message: '点击确定重启获取最新内容',
|
|
buttons: ['确定']
|
|
})
|
|
.then(() => {
|
|
// 调用 quitAndInstall 来安装更新
|
|
autoUpdater.quitAndInstall()
|
|
})
|
|
})
|
|
}
|
|
|
|
export default updateInit
|