From 39d76d6880f4624057eaeab5cf1e523a8a692dea Mon Sep 17 00:00:00 2001 From: Kaxi <1042864399@qq.com> Date: Tue, 2 Jun 2026 22:01:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B5=9E=E5=8A=A9=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20=3Fratio=3DN=20=E9=9A=90=E8=97=8F=E5=8F=82?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E9=87=91=E9=A2=9D=E5=80=8D=E6=95=B0=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- pages/sponsor.vue | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pages/sponsor.vue b/pages/sponsor.vue index e3cc10e..bd46ba9 100644 --- a/pages/sponsor.vue +++ b/pages/sponsor.vue @@ -5,6 +5,21 @@ useSeoMeta({ title: `赞助 - ${siteConfig.siteName}`, description: '感谢您的支持,您的赞助将帮助我持续创作优质内容', }) + +const route = useRoute() + +const ratio = computed(() => { + const v = Number(route.query.ratio) + return Number.isFinite(v) && v > 0 ? v : 0 +}) + +function formatAmount(amount: string): string { + if (!ratio.value) return amount + const match = amount.match(/^([\d.]+)(.*)$/) + if (!match) return amount + const num = (parseFloat(match[1]) * ratio.value).toFixed(2) + return num + match[2] +}