【功能优化】商城:支持阿里接口内容加密,同时修复支付宝渠道配置前端校验不生效的问题 #IAKCU4

This commit is contained in:
YunaiV 2024-08-18 15:33:59 +08:00
parent a9e52b4e98
commit e01883d58b
4 changed files with 16 additions and 19 deletions

View File

@ -159,14 +159,17 @@
<el-form-item label-width="180px" label="接口内容加密方式" prop="config.encryptType"> <el-form-item label-width="180px" label="接口内容加密方式" prop="config.encryptType">
<el-radio-group v-model="formData.config.encryptType"> <el-radio-group v-model="formData.config.encryptType">
<el-radio key="AES" label="AES">AES</el-radio>
<el-radio key="NONE" label="">无加密</el-radio> <el-radio key="NONE" label="">无加密</el-radio>
<el-radio key="AES" label="AES">AES</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<div v-if="formData.config.encryptType === 'AES'"> <div v-if="formData.config.encryptType === 'AES'">
<el-form-item label-width="180px" label="AES 密钥" prop="config.encryptKey"> <el-form-item label-width="180px" label="接口内容加密密钥" prop="config.encryptKey">
<el-input v-model="formData.config.encryptKey" placeholder="请输入接口内容加密密钥" clearable /> <el-input
v-model="formData.config.encryptKey"
placeholder="请输入接口内容加密密钥"
clearable
/>
</el-form-item> </el-form-item>
</div> </div>
@ -211,7 +214,7 @@ const formData = ref<any>({
alipayPublicCertContent: '', alipayPublicCertContent: '',
rootCertContent: '', rootCertContent: '',
encryptType: '', encryptType: '',
encryptKey: '', encryptKey: ''
} }
}) })
const formRules = { const formRules = {
@ -230,7 +233,7 @@ const formRules = {
{ required: true, message: '请上传支付宝公钥证书', trigger: 'blur' } { required: true, message: '请上传支付宝公钥证书', trigger: 'blur' }
], ],
'config.rootCertContent': [{ required: true, message: '请上传指定根证书', trigger: 'blur' }], 'config.rootCertContent': [{ required: true, message: '请上传指定根证书', trigger: 'blur' }],
'config.encryptKey': [{required: true, message: '请输入接口内容加密密钥', trigger: 'blur'}], 'config.encryptKey': [{ required: true, message: '请输入接口内容加密密钥', trigger: 'blur' }]
} }
const fileAccept = '.crt' const fileAccept = '.crt'
const formRef = ref() // Ref const formRef = ref() // Ref
@ -299,8 +302,8 @@ const resetForm = (appId, code) => {
appCertContent: '', appCertContent: '',
alipayPublicCertContent: '', alipayPublicCertContent: '',
rootCertContent: '', rootCertContent: '',
encryptType: 'AES', encryptType: '',
encryptKey: '', encryptKey: ''
} }
} }
formRef.value?.resetFields() formRef.value?.resetFields()

View File

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<Dialog v-model="dialogVisible" :title="dialogTitle" @closed="close" width="800px"> <Dialog v-model="dialogVisible" :title="dialogTitle" width="800px">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"

View File

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<Dialog v-model="dialogVisible" :title="dialogTitle" @closed="close" width="800px"> <Dialog v-model="dialogVisible" :title="dialogTitle" width="800px">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"

View File

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<Dialog v-model="dialogVisible" :title="dialogTitle" @close="close" width="800px"> <Dialog v-model="dialogVisible" :title="dialogTitle" width="800px">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"
@ -48,11 +48,7 @@
</el-form-item> </el-form-item>
<div v-if="formData.config.apiVersion === 'v2'"> <div v-if="formData.config.apiVersion === 'v2'">
<el-form-item label-width="180px" label="商户密钥" prop="config.mchKey"> <el-form-item label-width="180px" label="商户密钥" prop="config.mchKey">
<el-input <el-input v-model="formData.config.mchKey" placeholder="请输入商户密钥" clearable />
v-model="formData.config.mchKey"
placeholder="请输入商户密钥"
clearable
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label-width="180px" label-width="180px"
@ -182,9 +178,7 @@ const formRules = {
'config.privateKeyContent': [ 'config.privateKeyContent': [
{ required: true, message: '请上传 apiclient_key.pem 证书', trigger: 'blur' } { required: true, message: '请上传 apiclient_key.pem 证书', trigger: 'blur' }
], ],
'config.certSerialNo': [ 'config.certSerialNo': [{ required: true, message: '请输入证书序列号', trigger: 'blur' }],
{ required: true, message: '请输入证书序列号', trigger: 'blur' }
],
'config.apiV3Key': [{ required: true, message: '请上传 api V3 密钥值', trigger: 'blur' }] 'config.apiV3Key': [{ required: true, message: '请上传 api V3 密钥值', trigger: 'blur' }]
} }
const formRef = ref() // Ref const formRef = ref() // Ref