From 258e64bca71d830c999913a3ab05ace00579602c Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 31 May 2026 09:16:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=E7=AB=99=E7=82=B9=20C?= =?UTF-8?q?ookie=20=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=AF=B7=E6=B1=82=E5=A4=B1=E8=B4=A5=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E6=9C=8D=E5=8A=A1=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E8=80=85=E7=BC=93=E5=AD=98=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dialog/SiteCookieUpdateDialog.vue | 31 +++++++++++++------ src/locales/en-US.ts | 1 + src/locales/zh-CN.ts | 1 + src/locales/zh-TW.ts | 1 + src/service-worker.ts | 5 ++- 5 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/components/dialog/SiteCookieUpdateDialog.vue b/src/components/dialog/SiteCookieUpdateDialog.vue index 04e84b37..bf1e1a71 100644 --- a/src/components/dialog/SiteCookieUpdateDialog.vue +++ b/src/components/dialog/SiteCookieUpdateDialog.vue @@ -50,23 +50,34 @@ async function updateSiteCookie() { progressDialog.value = true progressText.value = t('dialog.siteCookieUpdate.updating', { site: cardProps.site?.name }) - const result: { [key: string]: any } = await api.get(`site/cookie/${cardProps.site?.id}`, { - params: { - username: userPwForm.value.username, - password: userPwForm.value.password, - code: userPwForm.value.code, - }, + const result: { [key: string]: any } = await api.post(`site/cookie/${cardProps.site?.id}`, { + username: userPwForm.value.username, + password: userPwForm.value.password, + code: userPwForm.value.code, }) if (result.success) { $toast.success(t('dialog.siteCookieUpdate.success', { site: cardProps.site?.name })) emit('done') - } else $toast.error(t('dialog.siteCookieUpdate.failed', { site: cardProps.site?.name, message: result.message })) - + } else { + $toast.error( + t('dialog.siteCookieUpdate.failed', { + site: cardProps.site?.name, + message: result.message || t('dialog.siteCookieUpdate.requestFailed'), + }), + ) + } + } catch (error: any) { + console.error(error) + const detail = error?.response?.data?.detail + const message = + error?.response?.data?.message || + (typeof detail === 'string' ? detail : error?.message) || + t('dialog.siteCookieUpdate.requestFailed') + $toast.error(t('dialog.siteCookieUpdate.failed', { site: cardProps.site?.name, message })) + } finally { progressDialog.value = false updateButtonDisable.value = false - } catch (error) { - console.error(error) } } diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index bc8411ad..7d724446 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -2452,6 +2452,7 @@ export default { updating: 'Updating {site} Cookie & UA...', success: '{site} Cookie & UA updated successfully!', failed: '{site} update failed: {message}', + requestFailed: 'Request failed, please try again later', updateButton: 'Start Update', }, siteAddEdit: { diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 5e0a6ccf..fb99174a 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -2406,6 +2406,7 @@ export default { updating: '正在更新 {site} Cookie & UA...', success: '{site} 更新Cookie & UA成功!', failed: '{site} 更新失败:{message}', + requestFailed: '请求失败,请稍后重试', updateButton: '开始更新', }, siteAddEdit: { diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts index 5359fafe..ad50ee08 100644 --- a/src/locales/zh-TW.ts +++ b/src/locales/zh-TW.ts @@ -2407,6 +2407,7 @@ export default { updating: '正在更新 {site} Cookie & UA...', success: '{site} 更新Cookie & UA成功!', failed: '{site} 更新失敗:{message}', + requestFailed: '請求失敗,請稍後重試', updateButton: '開始更新', }, siteAddEdit: { diff --git a/src/service-worker.ts b/src/service-worker.ts index 52f21c9d..de37af07 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -148,13 +148,16 @@ registerRoute( url.pathname.includes('/api/v1/') && request.method === 'GET' && !url.pathname.includes('/api/v1/search/') && // 搜索接口结果动态变化,避免缓存导致重复搜索失效 + !url.pathname.includes('/api/v1/site/cookie/') && // 站点 Cookie 更新是副作用请求,不能缓存 !url.pathname.includes('/api/v1/system/message') && // SSE实时消息流 !url.pathname.includes('/api/v1/system/progress/') && // SSE实时进度流 !url.pathname.includes('/api/v1/system/logging') && // SSE实时日志流 !url.pathname.includes('/api/v1/message/') && // 用户消息接口 !url.pathname.includes('/api/v1/system/global') && // 系统配置接口 !url.pathname.includes('/api/v1/mfa/') && // 多因素认证接口 - !url.pathname.includes('/api/v1/dashboard/'), // Dashboard实时监控数据 + !url.pathname.includes('/api/v1/dashboard/') && // Dashboard实时监控数据 + !url.pathname.includes('/api/v1/plugin/')&& // 插件接口 + !url.pathname.includes('/api/v1/subscribe/'), // 订阅接口 new NetworkFirst({ cacheName: `api-cache-${CACHE_VERSION}`, networkTimeoutSeconds: 5,