修复
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m35s

This commit is contained in:
sexygoat
2026-03-31 15:13:19 +08:00
parent 104d62b17d
commit 3372be99b8
9 changed files with 383 additions and 218 deletions

View File

@@ -77,10 +77,10 @@
v-model="form.provider_type"
placeholder="请选择支付渠道类型"
style="width: 100%"
:disabled="dialogType === 'edit'"
@change="handleProviderTypeChange"
>
<ElOption label="微信直连" value="wechat" />
<ElOption label="微信直连V2" value="wechat_v2" />
<ElOption label="富友支付" value="fuiou" />
</ElSelect>
</ElFormItem>
@@ -96,7 +96,7 @@
</ElFormItem>
<!-- 微信相关配置 -->
<template v-if="form.provider_type === 'wechat'">
<template v-if="form.provider_type === 'wechat' || form.provider_type === 'wechat_v2'">
<ElDivider content-position="left">
<span class="divider-title">小程序配置</span>
</ElDivider>
@@ -106,7 +106,6 @@
<ElInput
v-model="form.miniapp_app_id"
placeholder="请输入小程序AppID"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -131,7 +130,6 @@
<ElInput
v-model="form.oa_app_id"
placeholder="请输入公众号AppID"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -172,7 +170,6 @@
<ElInput
v-model="form.oa_oauth_redirect_url"
placeholder="请输入OAuth回调地址"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
@@ -185,7 +182,6 @@
<ElInput
v-model="form.wx_mch_id"
placeholder="请输入微信商户号"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -194,7 +190,6 @@
<ElInput
v-model="form.wx_serial_no"
placeholder="请输入微信证书序列号"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -225,7 +220,6 @@
<ElInput
v-model="form.wx_notify_url"
placeholder="请输入微信支付回调地址"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
<ElRow :gutter="20">
@@ -261,7 +255,6 @@
<ElInput
v-model="form.miniapp_app_id"
placeholder="请输入小程序AppID"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -286,7 +279,6 @@
<ElInput
v-model="form.oa_app_id"
placeholder="请输入公众号AppID"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -327,7 +319,6 @@
<ElInput
v-model="form.oa_oauth_redirect_url"
placeholder="请输入OAuth回调地址"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
@@ -340,7 +331,6 @@
<ElInput
v-model="form.wx_mch_id"
placeholder="请输入微信商户号"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -349,7 +339,6 @@
<ElInput
v-model="form.wx_serial_no"
placeholder="请输入微信证书序列号"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -380,7 +369,6 @@
<ElInput
v-model="form.wx_notify_url"
placeholder="请输入微信支付回调地址"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
<ElRow :gutter="20">
@@ -415,7 +403,6 @@
<ElInput
v-model="form.fy_api_url"
placeholder="请输入富友API地址"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -424,7 +411,6 @@
<ElInput
v-model="form.fy_ins_cd"
placeholder="请输入富友机构号"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -435,7 +421,6 @@
<ElInput
v-model="form.fy_mchnt_cd"
placeholder="请输入富友商户号"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -444,7 +429,6 @@
<ElInput
v-model="form.fy_term_id"
placeholder="请输入富友终端号"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
</ElCol>
@@ -453,7 +437,6 @@
<ElInput
v-model="form.fy_notify_url"
placeholder="请输入富友支付回调地址"
:disabled="dialogType === 'edit'"
/>
</ElFormItem>
<ElRow :gutter="20">
@@ -551,6 +534,7 @@
placeholder: '请选择支付渠道类型',
options: [
{ label: '微信直连', value: 'wechat' },
{ label: '微信直连V2', value: 'wechat_v2' },
{ label: '富友支付', value: 'fuiou' }
],
config: {
@@ -607,55 +591,15 @@
}
}
// 自定义验证器 - 编辑模式下允许为空,新增模式下必填
const createRequiredValidator = (fieldName: string) => {
return (rule: any, value: any, callback: any) => {
if (dialogType.value === 'add' && !value) {
callback(new Error(`请输入${fieldName}`))
} else {
callback()
}
}
}
// 静态验证规则 - 一次性定义所有规则
// 静态验证规则 - 只有配置名称和支付渠道类型是必填
const rules = reactive<FormRules>({
name: [{ required: true, message: '请输入配置名称', trigger: 'blur' }],
provider_type: [{ required: true, message: '请选择支付渠道类型', trigger: 'change' }],
// 所有字段的验证规则都定义好
miniapp_app_id: [{ required: true, validator: createRequiredValidator('小程序AppID'), trigger: 'blur' }],
miniapp_app_secret: [{ required: true, validator: createRequiredValidator('小程序AppSecret'), trigger: 'blur' }],
oa_app_id: [{ required: true, validator: createRequiredValidator('公众号AppID'), trigger: 'blur' }],
oa_app_secret: [{ required: true, validator: createRequiredValidator('公众号AppSecret'), trigger: 'blur' }],
oa_token: [{ required: true, validator: createRequiredValidator('公众号Token'), trigger: 'blur' }],
oa_aes_key: [{ required: true, validator: createRequiredValidator('公众号AES Key'), trigger: 'blur' }],
oa_oauth_redirect_url: [
{ required: true, validator: createRequiredValidator('OAuth回调地址'), trigger: 'blur' },
{ validator: urlValidator, trigger: 'blur' }
],
wx_mch_id: [{ required: true, validator: createRequiredValidator('微信商户号'), trigger: 'blur' }],
wx_api_v2_key: [{ required: true, validator: createRequiredValidator('微信APIv2密钥'), trigger: 'blur' }],
wx_api_v3_key: [{ required: true, validator: createRequiredValidator('微信APIv3密钥'), trigger: 'blur' }],
wx_serial_no: [{ required: true, validator: createRequiredValidator('微信证书序列号'), trigger: 'blur' }],
wx_cert_content: [{ required: true, validator: createRequiredValidator('微信支付证书内容'), trigger: 'blur' }],
wx_key_content: [{ required: true, validator: createRequiredValidator('微信支付密钥内容'), trigger: 'blur' }],
wx_notify_url: [
{ required: true, validator: createRequiredValidator('微信支付回调地址'), trigger: 'blur' },
{ validator: urlValidator, trigger: 'blur' }
],
fy_api_url: [
{ required: true, validator: createRequiredValidator('富友API地址'), trigger: 'blur' },
{ validator: urlValidator, trigger: 'blur' }
],
fy_ins_cd: [{ required: true, validator: createRequiredValidator('富友机构号'), trigger: 'blur' }],
fy_mchnt_cd: [{ required: true, validator: createRequiredValidator('富友商户号'), trigger: 'blur' }],
fy_term_id: [{ required: true, validator: createRequiredValidator('富友终端号'), trigger: 'blur' }],
fy_private_key: [{ required: true, validator: createRequiredValidator('富友私钥'), trigger: 'blur' }],
fy_public_key: [{ required: true, validator: createRequiredValidator('富友公钥'), trigger: 'blur' }],
fy_notify_url: [
{ required: true, validator: createRequiredValidator('富友支付回调地址'), trigger: 'blur' },
{ validator: urlValidator, trigger: 'blur' }
]
// 其他字段都是可选的,只验证URL格式
oa_oauth_redirect_url: [{ validator: urlValidator, trigger: 'blur' }],
wx_notify_url: [{ validator: urlValidator, trigger: 'blur' }],
fy_api_url: [{ validator: urlValidator, trigger: 'blur' }],
fy_notify_url: [{ validator: urlValidator, trigger: 'blur' }]
})
const form = reactive({
@@ -721,6 +665,7 @@
const getProviderTypeText = (type: PaymentProviderType): string => {
const typeMap: Record<PaymentProviderType, string> = {
wechat: '微信直连',
wechat_v2: '微信直连V2',
fuiou: '富友支付'
}
return typeMap[type] || type
@@ -728,7 +673,7 @@
// 获取商户号
const getMerchantId = (row: WechatConfig): string => {
if (row.provider_type === 'wechat') {
if (row.provider_type === 'wechat' || row.provider_type === 'wechat_v2') {
return row.wx_mch_id || '-'
}
if (row.provider_type === 'fuiou') {
@@ -739,7 +684,7 @@
// 获取支付回调地址
const getNotifyUrl = (row: WechatConfig): string => {
if (row.provider_type === 'wechat') {
if (row.provider_type === 'wechat' || row.provider_type === 'wechat_v2') {
return row.wx_notify_url || '-'
}
if (row.provider_type === 'fuiou') {