From 6baf1aa1fd47bd58e4cde5d2e06b0936648376be Mon Sep 17 00:00:00 2001 From: DaxPay Dev Date: Sat, 4 Jul 2026 18:51:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(payment):=20=E5=BE=AE=E4=BF=A1=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E9=85=8D=E7=BD=AE=E5=BA=94=E7=94=A8=E5=AF=86=E9=92=A5?= =?UTF-8?q?=E5=BF=85=E5=A1=AB+=E5=9B=9E=E8=B0=83=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E9=9D=9E=E5=BF=85=E5=A1=AB,=E5=AF=B9=E9=BD=90=E8=84=B1?= =?UTF-8?q?=E6=95=8F=E5=80=BC=E6=AF=94=E5=AF=B9=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/app/tabs/WechatIsvAppAuthConfig.vue | 17 +++++------------ .../mch/app/tabs/WechatMchAppAuthConfig.vue | 16 +++++----------- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/apps/daxpay-admin/src/views/payment/channel/wechat/manage/app/tabs/WechatIsvAppAuthConfig.vue b/apps/daxpay-admin/src/views/payment/channel/wechat/manage/app/tabs/WechatIsvAppAuthConfig.vue index 90c982c9e..c33d1ef24 100644 --- a/apps/daxpay-admin/src/views/payment/channel/wechat/manage/app/tabs/WechatIsvAppAuthConfig.vue +++ b/apps/daxpay-admin/src/views/payment/channel/wechat/manage/app/tabs/WechatIsvAppAuthConfig.vue @@ -30,9 +30,6 @@ // 仅公众号需要配置 OAuth 授权回调地址 const isOfficialAccount = computed(() => props.appType === 'official_account'); - // 是否已在服务端保存过 AppSecret(脱敏回显不代表可跳过首次必填) - const appSecretConfigured = computed(() => !!formState.value.appSecret); - /** AppSecret 提示文案(按应用类型) */ const appSecretTooltip = computed(() => { const map: Record = { @@ -44,17 +41,16 @@ return key ? $t(key) : $t('payment.channel.wechatManage.appSecretTooltipOfficialAccount'); }); + // 应用密钥:始终必填(星号常显);编辑时预填脱敏值,未修改由 diffForm 比对跳过更新 + // 授权回调地址:非必填(公众号可按需配置 OAuth 回调地址) const formRules = computed(() => ({ - // 应用密钥:公众号/小程序/移动应用首次配置时均必填;已配置后留空表示不修改 appSecret: [ { - required: !appSecretConfigured.value, + required: true, message: $t('payment.channel.wechatManage.validation.appSecret'), }, ], - authCallbackUrl: isOfficialAccount.value - ? [{ required: true, message: $t('payment.channel.wechatManage.validation.authCallbackUrl') }] - : [], + authCallbackUrl: [], })); function loadConfig() { @@ -74,10 +70,7 @@ } function handleEdit() { - // 编辑时清空脱敏回显的 AppSecret,留空表示不修改 - if (formState.value.appSecret) { - formState.value.appSecret = undefined; - } + // 编辑时保留脱敏回显的 AppSecret,未修改由 diffForm 比对跳过更新 isEditing.value = true; } diff --git a/apps/daxpay-admin/src/views/payment/channel/wechat/manage/mch/app/tabs/WechatMchAppAuthConfig.vue b/apps/daxpay-admin/src/views/payment/channel/wechat/manage/mch/app/tabs/WechatMchAppAuthConfig.vue index 8dfaf97d3..c37aea81f 100644 --- a/apps/daxpay-admin/src/views/payment/channel/wechat/manage/mch/app/tabs/WechatMchAppAuthConfig.vue +++ b/apps/daxpay-admin/src/views/payment/channel/wechat/manage/mch/app/tabs/WechatMchAppAuthConfig.vue @@ -35,9 +35,6 @@ // 仅公众号需要配置 OAuth 授权回调地址 const isOfficialAccount = computed(() => props.appType === 'official_account'); - // 是否已在服务端保存过 AppSecret(脱敏回显不代表可跳过首次必填) - const appSecretConfigured = computed(() => !!formState.value.appSecret); - /** AppSecret 提示文案(按应用类型) */ const appSecretTooltip = computed(() => { const map: Record = { @@ -49,16 +46,16 @@ return key ? $t(key) : $t('payment.channel.wechatMchApp.appSecretTooltipOfficialAccount'); }); + // 应用密钥:始终必填(星号常显);编辑时预填脱敏值,未修改由 diffForm 比对跳过更新 + // 授权回调地址:非必填(公众号可按需配置 OAuth 回调地址) const formRules = computed(() => ({ appSecret: [ { - required: !appSecretConfigured.value, + required: true, message: $t('payment.channel.wechatMchApp.validation.appSecret'), }, ], - authCallbackUrl: isOfficialAccount.value - ? [{ required: true, message: $t('payment.channel.wechatMchApp.validation.authCallbackUrl') }] - : [], + authCallbackUrl: [], })); function loadConfig() { @@ -82,10 +79,7 @@ } function handleEdit() { - // 编辑时清空脱敏回显的 AppSecret,留空表示不修改 - if (formState.value.appSecret) { - formState.value.appSecret = undefined; - } + // 编辑时保留脱敏回显的 AppSecret,未修改由 diffForm 比对跳过更新 isEditing.value = true; }