From 51ca9cb2899e9ced0388f3229cb3f9187e2853f1 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Thu, 5 Dec 2024 21:38:11 +0800 Subject: [PATCH] fix: check for update ui --- src/main/services/AppUpdater.ts | 7 +++++-- src/renderer/src/pages/settings/AboutSettings.tsx | 10 +++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/services/AppUpdater.ts b/src/main/services/AppUpdater.ts index 03dc8c38..d534de81 100644 --- a/src/main/services/AppUpdater.ts +++ b/src/main/services/AppUpdater.ts @@ -8,7 +8,7 @@ export default class AppUpdater { constructor(mainWindow: BrowserWindow) { logger.transports.file.level = 'debug' autoUpdater.logger = logger - autoUpdater.forceDevUpdateConfig = true + autoUpdater.forceDevUpdateConfig = !app.isPackaged autoUpdater.autoDownload = true // 检测下载错误 @@ -36,12 +36,13 @@ export default class AppUpdater { // 更新下载进度 autoUpdater.on('download-progress', (progress) => { - logger.info('下载进度', progress) mainWindow.webContents.send('download-progress', progress) }) // 当需要更新的内容下载完成后 autoUpdater.on('update-downloaded', (releaseInfo: UpdateInfo) => { + mainWindow.webContents.send('update-downloaded') + logger.info('下载完成,询问用户是否更新', releaseInfo) dialog @@ -58,6 +59,8 @@ export default class AppUpdater { if (response === 1) { app.isQuitting = true setImmediate(() => autoUpdater.quitAndInstall()) + } else { + mainWindow.webContents.send('update-downloaded-cancelled') } }) }) diff --git a/src/renderer/src/pages/settings/AboutSettings.tsx b/src/renderer/src/pages/settings/AboutSettings.tsx index a2fcee23..7c9cc773 100644 --- a/src/renderer/src/pages/settings/AboutSettings.tsx +++ b/src/renderer/src/pages/settings/AboutSettings.tsx @@ -83,6 +83,7 @@ const AboutSettings: FC = () => { }), ipcRenderer.on('update-available', () => { setCheckUpdateLoading(false) + setDownloading(true) }), ipcRenderer.on('download-update', () => { setCheckUpdateLoading(false) @@ -90,6 +91,10 @@ const AboutSettings: FC = () => { }), ipcRenderer.on('download-progress', (_, progress: ProgressInfo) => { setPercent(progress.percent) + setDownloading(progress.percent < 100) + }), + ipcRenderer.on('update-downloaded', () => { + setDownloading(false) }), ipcRenderer.on('update-error', (_, error) => { setCheckUpdateLoading(false) @@ -143,7 +148,10 @@ const AboutSettings: FC = () => { - + {downloading ? t('settings.about.downloading') : t('settings.about.checkUpdate')}