From f9d8a107a46d757c7816ff2f0c1af9bcd9838f6c Mon Sep 17 00:00:00 2001 From: luo Date: Wed, 5 Aug 2026 10:51:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=A4=E8=AF=81=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E6=98=AF=E5=85=88=E5=85=85=E5=80=BC=E5=90=8E=E5=AE=9E=E5=90=8D?= =?UTF-8?q?,=20=E9=A6=96=E9=A1=B5=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../specs/asset-realname-flow/spec.md | 3 ++- .../changes/update-july-h5-c-iteration/tasks.md | 1 + pages/index/index.vue | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/openspec/changes/update-july-h5-c-iteration/specs/asset-realname-flow/spec.md b/openspec/changes/update-july-h5-c-iteration/specs/asset-realname-flow/spec.md index c5fee1c..00820e0 100644 --- a/openspec/changes/update-july-h5-c-iteration/specs/asset-realname-flow/spec.md +++ b/openspec/changes/update-july-h5-c-iteration/specs/asset-realname-flow/spec.md @@ -20,7 +20,8 @@ The H5/C client SHALL use `GET /api/c/v1/asset/info?identifier=...` as the sourc - **WHEN** asset information returns `effective_realname_policy = after_order` - **THEN** the client SHALL allow the policy-defined post-order flow to proceed without applying a before-order block -- **AND** the client SHALL display the returned real-name status and retain the existing real-name action entry when completion is needed +- **AND** the client SHALL display the returned real-name status +- **AND** selecting the homepage real-name entry SHALL show a confirmation prompt and allow the user to navigate to package ordering instead of entering real-name authentication directly #### Scenario: Device status is resolved from server output diff --git a/openspec/changes/update-july-h5-c-iteration/tasks.md b/openspec/changes/update-july-h5-c-iteration/tasks.md index 2d73278..8285d00 100644 --- a/openspec/changes/update-july-h5-c-iteration/tasks.md +++ b/openspec/changes/update-july-h5-c-iteration/tasks.md @@ -12,6 +12,7 @@ - [x] 2.2 Drive real-name prompts, status labels, and order gates from `effective_realname_policy`, `realname_required`, and `real_name_status` - [x] 2.3 Remove local card/device real-name policy inference while preserving the existing real-name link flow - [x] 2.4 Replace current-package-only expiry display with `estimated_final_expires_at` and apply backend expiry status/highlight fields +- [x] 2.5 Redirect the homepage real-name entry to package ordering after confirmation when the effective policy is `after_order` ## 3. Package purchase and renewal diff --git a/pages/index/index.vue b/pages/index/index.vue index 53a8248..36bba73 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -196,6 +196,7 @@ let alreadyBindPhone = ref(false); let boundPhone = ref(''); let realNameStatus = ref(''); + let effectiveRealnamePolicy = ref('none'); let wifi_info = reactive({ ssid: '', pwd: '' @@ -274,6 +275,7 @@ const currentCard = resolveCurrentCard(data.cards || []); isRealName.value = Number(data.real_name_status) === 1; realNameStatus.value = isRealName.value ? '已实名' : '未实名'; + effectiveRealnamePolicy.value = data.effective_realname_policy || 'none'; userStore.setRealNameStatus(data.real_name_status); boundPhone.value = data.bound_phone || ''; alreadyBindPhone.value = !!data.bound_phone; @@ -772,6 +774,20 @@ }); break; case 'authentication': + if (effectiveRealnamePolicy.value === 'after_order') { + uni.showModal({ + title: '提示', + content: '当前认证策略为先充值后实名,请先订购套餐后再进行实名认证。是否前往套餐订购页面?', + confirmText: '去订购', + cancelText: '取消', + success: ({ confirm }) => { + if (confirm) { + uni.navigateTo({ url: '/pages/package-order/package-order' }); + } + } + }); + break; + } uni.navigateTo({ url: '/pages/auth/auth' });