From 5e120d03ae57f96b1a8259c73047fb9bddc08cc4 Mon Sep 17 00:00:00 2001 From: shenmo Date: Thu, 16 Jul 2026 00:44:42 +0800 Subject: [PATCH] =?UTF-8?q?refactor(installer):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E9=87=8D=E8=AF=95=E7=AD=96=E7=95=A5=E4=B8=BA?= =?UTF-8?q?=E6=8C=87=E6=95=B0=E9=80=80=E9=81=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将原来固定间隔的重试超时列表替换为指数退避的重试间隔,从首次3秒递增到末次1分钟,共10次重试,优化下载失败后的重试体验 --- electron/main/backend/install-manager.ts | 4 ++-- electron/main/backend/shared-installer.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/electron/main/backend/install-manager.ts b/electron/main/backend/install-manager.ts index 9744db51..fb1be474 100644 --- a/electron/main/backend/install-manager.ts +++ b/electron/main/backend/install-manager.ts @@ -544,9 +544,9 @@ async function runDownloadPhase(task: InstallTask) { sendStatus("downloading"); - // 下载重试逻辑:共10次,5次3秒,3次5秒,2次10秒 + // 下载重试逻辑:共10次,指数退避,首次3秒,末次1分钟 const timeoutList = [ - 3000, 3000, 3000, 3000, 3000, 5000, 5000, 5000, 10000, 10000, + 3000, 4500, 6500, 9000, 13000, 18000, 26000, 36000, 50000, 60000, ]; let retryCount = 0; let downloadSuccess = false; diff --git a/electron/main/backend/shared-installer.ts b/electron/main/backend/shared-installer.ts index 99d80353..2c033b79 100644 --- a/electron/main/backend/shared-installer.ts +++ b/electron/main/backend/shared-installer.ts @@ -106,9 +106,9 @@ export const downloadPackage = async ({ onStatus?.("downloading"); - // 下载重试逻辑:共10次,5次3秒,3次5秒,2次10秒 + // 下载重试逻辑:共10次,指数退避,首次3秒,末次1分钟 const timeoutList = [ - 3000, 3000, 3000, 3000, 3000, 5000, 5000, 5000, 10000, 10000, + 3000, 4500, 6500, 9000, 13000, 18000, 26000, 36000, 50000, 60000, ]; let retryCount = 0; let downloadSuccess = false;