Npm包:electron-update-helper

依赖electron-builderelectron-updaterelectron版本更新方法,自己基于原有方法进行了封装

安装

使用npm

1
npm install electron-update-helper

使用

主进程,在创建BrowserWindow后使用MainHelper,初始化实例即可,详见‘demo’

1
2
3
4
5
6
7
8
9
10
11
12
13
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

1
2
3
import {RenderHelper} from 'electron-update-helper'

let renderHelper = new RenderHelper();

渲染进程事件,详见‘demo’

  • checkForUpdates: 触发版本更新
1
renderHelper.checkForUpdates();
  • setMessageHandle: 更新通知的处理函数,参数为以下四种提示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
renderHelper.setMessageHandle(message => {
switch (message) {
case 'error':
alert('更新异常');
break;
case 'checking':
alert('开始检查更新');
break;
case 'update':
alert('正在下载更新中');
break;
case 'new':
alert('当前是最新版本,无需更新');
break;
}
});
  • setProgressHandle: 进度条处理函数,参数为进度条对象
1
2
3
renderHelper.setProgressHandle(progressObj => {
console.log(`当前更新进度为${progressObj.percent}`);
});
  • setUpdatedHandle: 更新完成后的回调,参数为一个事件,当done方法被调用时,会退出并执行更新
1
2
3
4
5
renderHelper.setUpdatedHandle(done => {
if (confirm('已下载完成,现在退出并更新吗?')) {
done();
}
});

注意事项

在使用electron-updater进行版本更新时,需要在package.json中添加一下配置,注意url地址应当与MainHelper传入的一致

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"build": {
"productName": "Name",
"appId": "org.simulatedgreg.electron-vue",
"publish": [
{
"provider": "generic",
"url": "your url"
}
],
"directories": {
"output": "build"
}
}
}

依赖

文章目录
  1. 1. 安装
  2. 2. 使用
  3. 3. 注意事项
  4. 4. 依赖
|