fix: 支付页协议区去冗余——协议同意已在登录环节完成(合规勾选),支付页改为一行纯说明链接(无同意语义),减少转化摩擦

This commit is contained in:
2026-09-13 18:57:10 +08:00
parent 336cc3d2c9
commit 7210ca4393
+2 -19
View File
@@ -69,19 +69,15 @@
class="pay-btn"
:loading="loading"
:disabled="loading"
:class="{ unagreed: !payAgreed }"
@click="handlePay"
>
<text class="pay-btn-text">立即支付 ¥{{ currentPrice }}</text>
</button>
<view class="pay-agreement-row">
<view class="pay-checkbox" :class="{ checked: payAgreed }" @click="payAgreed = !payAgreed">
<text v-if="payAgreed">✓</text>
</view>
<text class="pay-agreement-text">
我已阅读并同意
会员服务说明:
<text class="pay-agreement-link" @click.stop="openAgreement('terms')">《用户协议》</text>
和
·
<text class="pay-agreement-link" @click.stop="openAgreement('privacy')">《隐私政策》</text>
</text>
</view>
@@ -136,7 +132,6 @@ 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)
@@ -158,10 +153,6 @@ async function openAgreement(type) {
}
async function handlePay() {
if (!payAgreed.value) {
uni.showToast({ title: '请先阅读并勾选同意《用户协议》和《隐私政策》', icon: 'none' })
return
}
if (!userStore.isLoggedIn) {
uni.showToast({ title: '请先登录', icon: 'none' })
return
@@ -597,14 +588,6 @@ onShareAppMessage(() => ({
</style>
<style scoped>
.pay-agreement-row { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; }
.pay-checkbox {
width: 18px; height: 18px; border-radius: 4px;
border: 1.5px solid var(--text-muted); background: var(--glass-bg);
display: flex; align-items: center; justify-content: center;
font-size: 12px; color: #fff; flex-shrink: 0;
}
.pay-checkbox.checked { background: var(--color-brand); border-color: var(--color-brand); }
.pay-agreement-text { font-size: 11px; color: var(--text-tertiary); }
.pay-agreement-link { color: var(--color-brand); }
button.unagreed { opacity: 0.55; }
</style>