From 336cc3d2c9d6f5d5685c172d054eff0fd19d26d8 Mon Sep 17 00:00:00 2001 From: txai-dev Date: Sun, 13 Sep 2026 18:55:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=9A=90=E7=A7=81=E5=8D=8F=E8=AE=AE?= =?UTF-8?q?=E5=90=88=E8=A7=84=E6=95=B4=E6=94=B9=E2=80=94=E2=80=94=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E6=96=87=E6=A1=88=E6=94=B9'=E6=88=91?= =?UTF-8?q?=E5=B7=B2=E9=98=85=E8=AF=BB=E5=B9=B6=E5=90=8C=E6=84=8F'?= =?UTF-8?q?=EF=BC=9B=E8=AE=A2=E9=98=85=E6=94=AF=E4=BB=98=E9=A1=B5=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=BB=98=E8=AE=A4=E4=B8=8D=E5=8B=BE=E9=80=89=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E5=8B=BE=E9=80=89=E6=A1=86=EF=BC=8C=E6=9C=AA=E5=8B=BE?= =?UTF-8?q?=E9=80=89=E6=8B=A6=E6=88=AA=E6=94=AF=E4=BB=98=E5=B9=B6=E5=BC=95?= =?UTF-8?q?=E5=AF=BC=EF=BC=88=E5=BA=94=E5=AF=B9=E5=AE=A1=E6=A0=B8=EF=BC=9A?= =?UTF-8?q?=E4=B8=8D=E5=BE=97=E9=BB=98=E8=AE=A4=E8=87=AA=E5=8A=A8=E5=90=8C?= =?UTF-8?q?=E6=84=8F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/pages/login/login.vue | 2 +- client/src/pages/payment/payment.vue | 39 +++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/client/src/pages/login/login.vue b/client/src/pages/login/login.vue index 975cce3..291112e 100644 --- a/client/src/pages/login/login.vue +++ b/client/src/pages/login/login.vue @@ -47,7 +47,7 @@ ✓ - 登录即表示同意 + 我已阅读并同意 《用户协议》 和 《隐私政策》 diff --git a/client/src/pages/payment/payment.vue b/client/src/pages/payment/payment.vue index 1879495..88e51b4 100644 --- a/client/src/pages/payment/payment.vue +++ b/client/src/pages/payment/payment.vue @@ -69,13 +69,22 @@ class="pay-btn" :loading="loading" :disabled="loading" + :class="{ unagreed: !payAgreed }" @click="handlePay" > 立即支付 ¥{{ currentPrice }} - - 点击支付即表示同意《用户协议》和《隐私政策》 - + + + ✓ + + + 我已阅读并同意 + 《用户协议》 + 和 + 《隐私政策》 + + @@ -127,6 +136,7 @@ const currentPrice = computed(() => PLAN_MAP[selectedPlan.value].price) const currentProductId = computed(() => PLAN_MAP[selectedPlan.value].productId) const loading = ref(false) +const payAgreed = ref(false) // 协议勾选:默认不勾选,用户自主选择(审核合规) // H5 支付相关状态 const h5PayUrl = ref('') const showH5Fallback = ref(false) @@ -143,7 +153,15 @@ function isH5() { return false } +async function openAgreement(type) { + uni.navigateTo({ url: '/pages/agreement/agreement?type=' + (type || 'terms') }) +} + async function handlePay() { + if (!payAgreed.value) { + uni.showToast({ title: '请先阅读并勾选同意《用户协议》和《隐私政策》', icon: 'none' }) + return + } if (!userStore.isLoggedIn) { uni.showToast({ title: '请先登录', icon: 'none' }) return @@ -576,4 +594,17 @@ onShareAppMessage(() => ({ padding: 8px; } } - \ No newline at end of file + +