1.0.2 • Published 7 years ago
electron-update-helper v1.0.2
electron-update-helper
依赖electron-builder和electron-updater的electron版本更新方法,基于原有方法进行了封装,易于使用
安装
npm install electron-update-helper使用
主进程,在创建BrowserWindow后使用MainHelper,初始化实例即可,详见'demo'
import {MainHelper} from 'electron-update-helper'
app.on('ready', () => {
mainWindow = new BrowserWindow({
height: 768,
width: 1024
});
// 接受两个参数
// 1 创建的BrowserWindow对象
// 2 版本更新地址,需要和package.json中electron-builder的publish url配置相同
new MainHelper(mainWindow, URL);
});渲染进程中,使用RenderHelper,详见'demo'
import {RenderHelper} from 'electron-update-helper'
let renderHelper = new RenderHelper();渲染进程事件
checkForUpdates: 触发版本更新
renderHelper.checkForUpdates();setMessageHandle: 更新通知的处理函数,参数为以下四种提示
renderHelper.setMessageHandle(message => {
switch (message) {
case 'error':
alert('更新异常');
break;
case 'checking':
alert('开始检查更新');
break;
case 'update':
alert('正在下载更新中');
break;
case 'new':
alert('当前是最新版本,无需更新');
break;
}
});setProgressHandle: 进度条处理函数,参数为进度条对象
renderHelper.setProgressHandle(progressObj => {
console.log(`当前更新进度为${progressObj.percent}`);
});setUpdatedHandle: 更新完成后的回调,参数为一个事件,当done方法被调用时,会退出并执行更新
renderHelper.setUpdatedHandle(done => {
if (confirm('已下载完成,现在退出并更新吗?')) {
done();
}
});注意事项
在使用electron-updater进行版本更新时,需要在package.json中添加一下配置,注意url地址应当与MainHelper传入的一致
{
"build": {
"productName": "Name",
"appId": "org.simulatedgreg.electron-vue",
"publish": [
{
"provider": "generic",
"url": "your url"
}
],
"directories": {
"output": "build"
}
}
}