diff --git a/src/background.js b/src/background.js index dcf899f..7d71c7e 100644 --- a/src/background.js +++ b/src/background.js @@ -3,6 +3,7 @@ import './lib/site/server' import { app, protocol, BrowserWindow, globalShortcut, ipcMain } from 'electron' import { createProtocol } from 'vue-cli-plugin-electron-builder/lib' +import { autoUpdater } from 'electron-updater' import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer' const isDevelopment = process.env.NODE_ENV !== 'production' @@ -14,6 +15,8 @@ let mini protocol.registerSchemesAsPrivileged([{ scheme: 'app', privileges: { secure: true, standard: true } }]) +autoUpdater.autoDownload = false + function createWindow () { win = new BrowserWindow({ width: 1080, @@ -97,6 +100,16 @@ ipcMain.on('win', () => { win.webContents.send('miniClosed') }) +ipcMain.on('update', async () => { + const checkForUpdates = await autoUpdater.checkForUpdates() + win.webContents.send('update-replay-check', checkForUpdates) + const res = await autoUpdater.downloadUpdate() + win.webContents.send('update-replay-download', res) + autoUpdater.on('update-downloaded', () => { + win.webContents.send('update-replay-downloaded', 'downloaded') + }) +}) + const gotTheLock = app.requestSingleInstanceLock() if (!gotTheLock) { app.quit() diff --git a/src/components/Setting.vue b/src/components/Setting.vue index 7338628..6f73499 100644 --- a/src/components/Setting.vue +++ b/src/components/Setting.vue @@ -7,6 +7,7 @@ Github 当前版本v{{pkg.version}} 反馈 最新版本v{{latestVersion}} + 检查更新