refactor(risk): 简化 openId 名单提示文案, 移除列表页冗余 alert

- PayBlacklistList.vue 移除列表页 a-alert: 系统行为已自动化,
  运营进列表看数据即可, 不需常驻技术说明
- PayBlacklistEdit.vue 表单 warning 文案简化为场景边界提示:
  '付款码/APP/外部浏览器场景仅做事后补录'
- i18n key openIdCodePayHint → openIdBoundaryHint, 与新文案语义对齐
- 同步 10 语种(6 主+东盟 4 英文 fallback)
This commit is contained in:
DaxPay Dev
2026-07-20 12:07:59 +08:00
parent 548eed403e
commit 431d27540d
12 changed files with 12 additions and 21 deletions

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "Type and value cannot be changed after creation",
"expireEmpty": "Leave empty for permanent",
"openIdCodePayHint": "openId blacklist is enforced across gateway payments: JSAPI/mini natively carries openId; QR, wechat/alipay/douyin in-app H5 silently acquires openId before pay; external browsers, barcode, APP and other methods unable to pre-acquire openId fall back to IP check + post-pay hit recording."
"openIdBoundaryHint": "Barcode/APP/external browser scenarios fall back to post-pay hit recording only."
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "Jenis dan nilai tidak dapat diubah setelah dibuat",
"expireEmpty": "Kosongkan untuk permanen",
"openIdCodePayHint": "openId blacklist only applies to trades that already have a user identity before pay (e.g. code-plate/aggregate JSAPI or mini). If code-plate uses a method without openId, this list cannot block the user before payment."
"openIdBoundaryHint": "Barcode/APP/external browser scenarios fall back to post-pay hit recording only."
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "Type and value cannot be changed after creation",
"expireEmpty": "Leave empty for permanent",
"openIdCodePayHint": "openId リストはゲートウェイ決済全体で事前遮断を自動有効化しますJSAPI/ミニは本来 openId を携帯QR・WeChat/Alipay/Douyin 内 H5 など識別可能な環境は決済前にサイレント取得して遮断外部ブラウザ・バーコード・APP など事前取得不可の方式は IP チェック + 決済成功後の事後記録にフォールバックします。"
"openIdBoundaryHint": "バーコード/APP/外部ブラウザのシーンは事後記録のみ。"
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "Type and value cannot be changed after creation",
"expireEmpty": "Leave empty for permanent",
"openIdCodePayHint": "openId 목록은 게이트웨이 결제 전반에서 사전 차단을 자동 활성화합니다: JSAPI/미니는 기본적으로 openId를 휴대; QR, 위챗/알리페이/도우인 인앱 H5 등 식별 가능 환경은 결제 전 사일런트 취득 후 차단; 외부 브라우저, 바코드, APP 등 사전 취득 불가 방식은 IP 체크 + 결제 성공 후 사후 기록으로 폴백합니다."
"openIdBoundaryHint": "바코드/APP/외부 브라우저 시나리오는 사후 기록합니다."
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "Jenis dan nilai tidak boleh diubah selepas dicipta",
"expireEmpty": "Biarkan kosong untuk kekal",
"openIdCodePayHint": "openId blacklist only applies to trades that already have a user identity before pay (e.g. code-plate/aggregate JSAPI or mini). If code-plate uses a method without openId, this list cannot block the user before payment."
"openIdBoundaryHint": "Barcode/APP/external browser scenarios fall back to post-pay hit recording only."
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "ประเภทและค่าไม่สามารถแก้ไขหลังสร้าง",
"expireEmpty": "เว้นว่างหากถาวร",
"openIdCodePayHint": "openId blacklist only applies to trades that already have a user identity before pay (e.g. code-plate/aggregate JSAPI or mini). If code-plate uses a method without openId, this list cannot block the user before payment."
"openIdBoundaryHint": "Barcode/APP/external browser scenarios fall back to post-pay hit recording only."
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "Loại và giá trị không thể sửa sau khi tạo",
"expireEmpty": "Để trống nếu vĩnh viễn",
"openIdCodePayHint": "openId blacklist only applies to trades that already have a user identity before pay (e.g. code-plate/aggregate JSAPI or mini). If code-plate uses a method without openId, this list cannot block the user before payment."
"openIdBoundaryHint": "Barcode/APP/external browser scenarios fall back to post-pay hit recording only."
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "类型与名单值创建后不可修改",
"expireEmpty": "留空表示永久有效",
"openIdCodePayHint": "openId 名单在网关支付场景自动启用事前拦截JSAPI/小程序原生走 openId主扫、微信/支付宝/抖音内 H5 等可识别环境会在支付前静默获取 openId 拦截外部浏览器、付款码、APP 等无法事前获取 openId 的方式将降级为 IP 校验 + 支付成功后补录命中。"
"openIdBoundaryHint": "付款码/APP/外部浏览器场景仅做事后补录。"
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "类型与名单值创建后不可修改",
"expireEmpty": "留空表示永久有效",
"openIdCodePayHint": "openId 名單喺網關支付場景自動啟用事前攔截JSAPI/小程式原生用 openId主掃、微信/支付寶/抖音內 H5 等可識別環境會喺支付前靜默攞 openId 攔截外部瀏覽器、付款碼、APP 等無法事前攞 openId 嘅方式會降級為 IP 校驗 + 支付成功後補錄命中。"
"openIdBoundaryHint": "付款碼/APP/外部瀏覽器場景僅做事後補錄。"
}
},
"hit": {

View File

@@ -27,7 +27,7 @@
"tip": {
"typeValueImmutable": "类型与名单值创建后不可修改",
"expireEmpty": "留空表示永久有效",
"openIdCodePayHint": "openId 名單在網關支付場景自動啟用事前攔截JSAPI/小程式原生走 openId主掃、微信/支付寶/抖音內 H5 等可識別環境會在支付前靜默取得 openId 攔截外部瀏覽器、付款碼、APP 等無法事前取得 openId 的方式將降級為 IP 校驗 + 支付成功後補錄命中。"
"openIdBoundaryHint": "付款碼/APP/外部瀏覽器場景僅做事後補錄。"
}
},
"hit": {

View File

@@ -152,10 +152,10 @@
<a-radio-button value="open_id">{{ $t('payment.risk.blacklist.type.open_id') }}</a-radio-button>
</a-radio-group>
</a-form-item>
<!-- openId 类型与码牌 JSAPI 等取 openId 方式的关系提示 -->
<!-- openId 类型场景边界提示 -->
<div v-if="formState.type === 'open_id'" class="mb-4 px-2">
<a-alert
:message="$t('payment.risk.blacklist.tip.openIdCodePayHint')"
:message="$t('payment.risk.blacklist.tip.openIdBoundaryHint')"
type="warning"
show-icon
/>

View File

@@ -150,15 +150,6 @@
<BQuery :fields="queryFields" :query-params="queryForm" @query="queryPage" @reset="resetQuery" />
</a-card>
<!-- openId 名单与码牌支付方式关系说明 -->
<div class="mt-4">
<a-alert
:message="$t('payment.risk.blacklist.tip.openIdCodePayHint')"
type="info"
show-icon
/>
</div>
<div class="mt-4">
<a-card>
<vxe-toolbar ref="xToolbar" custom refresh :refresh-options="{ queryMethod: queryPage }">