# electron-update-helper

> a package for electron-updater

Latest version **1.0.2** (published 2019-04-25) · ISC license · 0 weekly downloads

## Install

```sh
npm install electron-update-helper
pnpm add electron-update-helper
yarn add electron-update-helper
bun add electron-update-helper
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2019-04-25 |
| First published | 2019-04-12 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 9.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | 1042625709@qq.com |
| Maintainers | ly-package |
| Keywords | electron, electron-builder, electron-updater |

## Links

- npm: https://www.npmjs.com/package/electron-update-helper
- Repository: https://gitliyu:liyu19960704@github.com/gitliyu/electron-update-helper
- Homepage: https://github.com/gitliyu/electron-update-helper#readme
- Issues: https://github.com/gitliyu/electron-update-helper/issues
- npm.io page: https://npm.io/package/electron-update-helper

## Recent versions

- 1.0.2 (latest) — 2019-04-25
- 1.0.1 — 2019-04-24
- 1.0.0 — 2019-04-12

## README

# electron-update-helper

依赖`electron-builder`和`electron-updater`的`electron`版本更新方法，基于原有方法进行了封装，易于使用

### 安装
```
npm install electron-update-helper
```

### 使用
主进程，在创建`BrowserWindow`后使用`MainHelper`，初始化实例即可，详见['demo'](https://github.com/gitliyu/electron-update-helper/blob/master/demo/main.js)
```javascript
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'](https://github.com/gitliyu/electron-update-helper/blob/master/demo/render.html)
```
import {RenderHelper} from 'electron-update-helper'

let renderHelper = new RenderHelper();
```
渲染进程事件
- `checkForUpdates`: 触发版本更新
```javascript
renderHelper.checkForUpdates();
```
- `setMessageHandle`: 更新通知的处理函数，参数为以下四种提示
```javascript
renderHelper.setMessageHandle(message => {
  switch (message) {
    case 'error':
      alert('更新异常');
      break;
    case 'checking':
      alert('开始检查更新');
      break;
    case 'update':
      alert('正在下载更新中');
      break;
    case 'new':
      alert('当前是最新版本，无需更新');
      break;
  }
});
```
- `setProgressHandle`： 进度条处理函数，参数为进度条对象
```javascript
renderHelper.setProgressHandle(progressObj => {
  console.log(`当前更新进度为${progressObj.percent}`);
});
```
- `setUpdatedHandle`: 更新完成后的回调，参数为一个事件，当done方法被调用时，会退出并执行更新
```javascript
renderHelper.setUpdatedHandle(done => {
  if (confirm('已下载完成,现在退出并更新吗？')) {
    done();
  }
});
```

### 注意事项
在使用`electron-updater`进行版本更新时，需要在`package.json`中添加一下配置，注意`url`地址应当与`MainHelper`传入的一致
```javascript
{
  "build": {
    "productName": "Name",
    "appId": "org.simulatedgreg.electron-vue",
    "publish": [
      {
        "provider": "generic",
        "url": "your url"
      }
    ],
    "directories": {
      "output": "build"
    }
  }
}
```

### 依赖
- ['electron-builder'](https://www.npmjs.com/package/electron-builder)
- ['electron-updater'](https://www.npmjs.com/package/electron-updater)

---
_Source: https://npm.io/package/electron-update-helper · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
