From a62f525840a8fc793107bea7975703dc99fe1238 Mon Sep 17 00:00:00 2001 From: chengww Date: Sun, 26 Apr 2026 21:05:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(download):=20=E4=B8=8B=E8=BD=BD=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=8A=BD=E5=B1=89=E6=89=93=E5=BC=80=E6=97=B6=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E6=98=BE=E7=A4=BA=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit get-store-value 主进程用 ipcMain.on 同步返回,renderer 却用 invoke 读取会直接 reject,导致 initDownloadSettings 中断、已保存的下载路径等配置回读失败。改为 sendSync,与项目其它调用点保持一致。 contentLength 类型错误非本次提交引入,因无法通过 precommit 检查,故一并修复。 --- src/main/modules/downloadManager.ts | 2 +- src/renderer/views/download/DownloadPage.vue | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/modules/downloadManager.ts b/src/main/modules/downloadManager.ts index 6c806c6..5373bb9 100644 --- a/src/main/modules/downloadManager.ts +++ b/src/main/modules/downloadManager.ts @@ -523,7 +523,7 @@ class DownloadManager { } else { // Full response (200) - start from beginning task.loaded = 0; - const contentLength = response.headers['content-length']; + const contentLength = response.headers['content-length'] as string; task.total = contentLength ? parseInt(contentLength, 10) : 0; } diff --git a/src/renderer/views/download/DownloadPage.vue b/src/renderer/views/download/DownloadPage.vue index 31bad5f..7506ef1 100644 --- a/src/renderer/views/download/DownloadPage.vue +++ b/src/renderer/views/download/DownloadPage.vue @@ -915,16 +915,16 @@ const saveDownloadSettings = () => { }; const initDownloadSettings = async () => { - const path = await window.electron.ipcRenderer.invoke('get-store-value', 'set.downloadPath'); - const nameFormat = await window.electron.ipcRenderer.invoke( + const path = window.electron.ipcRenderer.sendSync('get-store-value', 'set.downloadPath'); + const nameFormat = window.electron.ipcRenderer.sendSync( 'get-store-value', 'set.downloadNameFormat' ); - const separator = await window.electron.ipcRenderer.invoke( + const separator = window.electron.ipcRenderer.sendSync( 'get-store-value', 'set.downloadSeparator' ); - const saveLyric = await window.electron.ipcRenderer.invoke( + const saveLyric = window.electron.ipcRenderer.sendSync( 'get-store-value', 'set.downloadSaveLyric' );