import type { FormSchemaGetter } from '#/adapter/form'; import { DICT_TYPE, getDictOptions } from '#/utils/dict'; export const modalAliPaySchema: FormSchemaGetter = () => [ { label: '应用编号', fieldName: 'id', component: 'Input', dependencies: { show: () => false, triggerFields: [''], }, }, { label: '渠道费率', fieldName: 'feeRate', component: 'Input', rules: 'required', componentProps: { placeholder: '请输入渠道费率', }, }, { label: '开放平台 APPID', fieldName: 'config.appId', component: 'Input', rules: 'required', componentProps: { placeholder: '请输入开放平台 APPID', }, }, { label: '渠道状态', fieldName: 'status', component: 'RadioGroup', rules: 'required', componentProps: { options: getDictOptions(DICT_TYPE.COMMON_STATUS, 'number'), }, }, { label: '网关地址', fieldName: 'config.serverUrl', component: 'RadioGroup', rules: 'required', componentProps: { options: [ { value: 'https://openapi.alipay.com/gateway.do', label: '线上环境', }, { value: 'https://openapi-sandbox.dl.alipaydev.com/gateway.do', label: '沙箱环境', }, ], }, }, { label: '算法类型', fieldName: 'config.signType', component: 'RadioGroup', rules: 'required', componentProps: { options: [ { value: 'RSA2', label: 'RSA2', }, ], }, defaultValue: 'RSA2', }, { label: '公钥类型', fieldName: 'config.mode', component: 'RadioGroup', rules: 'required', componentProps: { options: [ { value: 0, label: '公钥模式', }, { value: 1, label: '证书模式', }, ], }, }, { label: '应用私钥', fieldName: 'config.privateKey', component: 'Textarea', rules: 'required', componentProps: { placeholder: '请输入应用私钥', rows: 8, }, dependencies: { show(values) { return values.config.mode !== undefined; }, triggerFields: ['config'], }, }, { label: '支付宝公钥', fieldName: 'config.alipayPublicKey', component: 'Textarea', rules: 'required', componentProps: { placeholder: '请输入支付宝公钥', rows: 8, }, dependencies: { show(values) { return values?.config?.mode === 0; }, triggerFields: ['config.mode', 'mode', 'config'], }, }, { label: '商户公钥应用证书', fieldName: 'config.appCertContent', slotName: 'appCertContent', component: 'Textarea', rules: 'required', componentProps: { placeholder: '请上传商户公钥应用证书', rows: 8, }, dependencies: { show(values) { return values?.config?.mode === 1; }, triggerFields: ['config.mode', 'mode', 'config'], }, }, { label: '支付宝公钥证书', fieldName: 'config.alipayPublicCertContent', slotName: 'alipayPublicCertContent', component: 'Textarea', rules: 'required', componentProps: { placeholder: '请上传支付宝公钥证书', rows: 8, }, dependencies: { show(values) { return values?.config?.mode === 1; }, triggerFields: ['config.mode', 'mode', 'config'], }, }, { label: '根证书', fieldName: 'config.rootCertContent', slotName: 'rootCertContent', component: 'Textarea', rules: 'required', componentProps: { placeholder: '请上传根证书', rows: 8, }, dependencies: { show(values) { return values?.config?.mode === 1; }, triggerFields: ['config.mode', 'mode', 'config'], }, }, { label: '接口内容加密方式', fieldName: 'config.encryptType', component: 'RadioGroup', rules: 'required', componentProps: { options: [ { value: 'NONE', label: '无加密', }, { value: 'AES', label: 'AES', }, ], }, defaultValue: 'NONE', }, { label: '备注', fieldName: 'remark', component: 'Textarea', componentProps: { rows: 3, placeholder: '请输入备注', }, }, ];