From 222187d3b036ead467e5f18f2829d43476e8e99a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=81=95=E7=91=9E=E7=8E=9B=E7=9A=84=E7=9A=87=E5=B8=9D?= <2075125282@qq.com> Date: Sat, 31 May 2025 02:21:40 +0800 Subject: [PATCH] optimize(hooks): update detection function to cover the exceptions that occur when the request fails. --- src/plugins/app.ts | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/plugins/app.ts b/src/plugins/app.ts index 1a0d8999..4943341f 100644 --- a/src/plugins/app.ts +++ b/src/plugins/app.ts @@ -25,8 +25,8 @@ export function setupAppVersionNotification() { const buildTime = await getHtmlBuildTime(); - // If build time hasn't changed, no update is needed - if (buildTime === BUILD_TIME) { + // If failed to get build time or build time hasn't changed, no update is needed. + if (!buildTime || buildTime === BUILD_TIME) { return; } @@ -88,16 +88,22 @@ export function setupAppVersionNotification() { } } -async function getHtmlBuildTime() { +async function getHtmlBuildTime(): Promise { const baseUrl = import.meta.env.VITE_BASE_URL || '/'; - const res = await fetch(`${baseUrl}index.html?time=${Date.now()}`); + try { + const res = await fetch(`${baseUrl}index.html?time=${Date.now()}`); - const html = await res.text(); + if (!res.ok) { + console.error('getHtmlBuildTime error:', res.status, res.statusText); + return null; + } - const match = html.match(//); - - const buildTime = match?.[1] || ''; - - return buildTime; + const html = await res.text(); + const match = html.match(//); + return match?.[1] || null; + } catch (error) { + console.error('getHtmlBuildTime error:', error); + return null; + } }