This commit is contained in:
@@ -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') {
|
||||
|
||||
Reference in New Issue
Block a user