diff --git a/src/hooks/bootx/useFormEdit.ts b/src/hooks/bootx/useFormEdit.ts index a1555fe1..b9268e1a 100644 --- a/src/hooks/bootx/useFormEdit.ts +++ b/src/hooks/bootx/useFormEdit.ts @@ -1,4 +1,4 @@ -import { reactive, toRefs } from 'vue' +import { reactive, toRefs, unref } from "vue"; import { FormEditType } from '@/enums/formTypeEnum' import { setIcon } from 'vxe-table' @@ -83,7 +83,7 @@ export default function () { function diffForm(rawForm, editForm, ...keys) { const form = {} for (const key of keys) { - form[key] = rawForm[key] === editForm[key] ? undefined : editForm[key] + form[key] = unref(rawForm)[key] === unref(editForm)[key] ? undefined : unref(editForm)[key] } return form } diff --git a/src/views/daxpay/admin/channel/alipay/config/AlipayConfig.api.ts b/src/views/daxpay/admin/channel/alipay/config/AlipayConfig.api.ts new file mode 100644 index 00000000..2edb8027 --- /dev/null +++ b/src/views/daxpay/admin/channel/alipay/config/AlipayConfig.api.ts @@ -0,0 +1,66 @@ +import { defHttp } from '@/utils/http/axios' +import { Result } from '#/axios' +import { MchEntity } from "#/web"; +import { unref } from 'vue' + +/** + * 获取单条 + */ +export function getConfig(id) { + return defHttp.get>({ + url: '/alipay/config/findById', + params: { id: unref(id) }, + }) +} + +/** + * 保存或更新 + */ +export function saveOrUpdate(obj: AlipayConfig) { + return defHttp.post({ + url: '/alipay/config/saveOrUpdate', + data: obj, + }) +} + +/** + * 支付宝配置 + */ +export interface AlipayConfig extends MchEntity { + // 商户号 + mchNo?: string + // 商户AppId + appId?: string + // 支付宝商户appId + outAppId?: string + // 是否启用 + enable: boolean + // 支付限额 + limitAmount?: number + // 商户账号ID + alipayUserId?: string + // 授权回调地址 + redirectUrl?: string + // 服务器异步通知页面路径 + notifyUrl?: string + // 页面跳转同步通知页面路径 + returnUrl?: string + // 请求网关地址 + serverUrl?: string + // 认证方式 + authType?: string + // 签名类型 + signType?: string + // 支付宝公钥 + alipayPublicKey?: string + // 私钥 + privateKey?: string + // 应用公钥 + appCert?: string + // 支付宝公钥证书 + alipayCert?: string + // 支付宝CA根证书 + alipayRootCert?: string + // 是否沙箱环境 + sandbox?: boolean +} diff --git a/src/views/daxpay/admin/channel/alipay/config/AlipayConfigEdit.vue b/src/views/daxpay/admin/channel/alipay/config/AlipayConfigEdit.vue new file mode 100644 index 00000000..6a22f1a5 --- /dev/null +++ b/src/views/daxpay/admin/channel/alipay/config/AlipayConfigEdit.vue @@ -0,0 +1,336 @@ + + + + + diff --git a/src/views/daxpay/admin/channel/wechat/config/WechatPayConfig.api.ts b/src/views/daxpay/admin/channel/wechat/config/WechatPayConfig.api.ts new file mode 100644 index 00000000..a7102dff --- /dev/null +++ b/src/views/daxpay/admin/channel/wechat/config/WechatPayConfig.api.ts @@ -0,0 +1,59 @@ +import { defHttp } from '@/utils/http/axios' +import { Result } from '#/axios' +import { MchEntity } from '#/web' +import { unref } from 'vue' +/** + * 获取单条 + */ +export function getConfig(id) { + return defHttp.get>({ + url: '/wechat/pay/config/findById', + params: { id: unref(id) }, + }) +} + +/** + * 保存或更新 + */ +export function saveOrUpdate(obj: WechatPayConfig) { + return defHttp.post({ + url: '/wechat/pay/config/saveOrUpdate', + data: obj, + }) +} + +/** + * 微信支付配置 + */ +export interface WechatPayConfig extends MchEntity { + // 微信应用AppId + wxAppId?: string + // 微信商户号 + wxMchId?: string + // 是否启用 + enable: boolean + // 支付限额 + limitAmount?: number + // API 版本 + apiVersion: string + // 商户平台「API安全」中的 APIv2 密钥 + apiKeyV2?: string + // 商户平台「API安全」中的 APIv3 密钥 + apiKeyV3?: string + // APPID对应的接口密码,用于获取接口调用凭证access_token时使用 + appSecret?: string + // p12的文件id + p12?: string | null + // 应用域名,回调中会使用此参数 + domain?: string + // 授权回调地址 + redirectUrl?: string + // 服务器异步通知页面路径 + notifyUrl?: string + // 页面跳转同步通知页面路径 + returnUrl?: string + // 是否沙箱环境 + sandbox?: boolean + // 备注 + remark?: string +} diff --git a/src/views/daxpay/admin/channel/wechat/config/WechatPayConfigEdit.vue b/src/views/daxpay/admin/channel/wechat/config/WechatPayConfigEdit.vue new file mode 100644 index 00000000..e736edc0 --- /dev/null +++ b/src/views/daxpay/admin/channel/wechat/config/WechatPayConfigEdit.vue @@ -0,0 +1,276 @@ + + + + + diff --git a/src/views/daxpay/admin/merchant/app/MchAppEdit.vue b/src/views/daxpay/admin/merchant/app/MchAppEdit.vue index e2747780..d05bb330 100644 --- a/src/views/daxpay/admin/merchant/app/MchAppEdit.vue +++ b/src/views/daxpay/admin/merchant/app/MchAppEdit.vue @@ -8,79 +8,89 @@ :open="visible" @close="handleCancel" > - - - - - - - - - {{ form.appId }} - - - - - - - - - - - - - - - - HMAC_SHA256 - SM3 - - - - - 生成秘钥 - - - - 不启用 - http - websocket - 消息队列 - - - - - - + + + + + + + + + + {{ form.appId }} + + + + + + + + + + + + + + + + HMAC_SHA256 + SM3 + + + + + 生成秘钥 + + + + 不启用 + http + websocket + 消息队列 + + + + + + + @@ -80,7 +80,7 @@ import { useDict } from '@/hooks/bootx/useDict' import { dropdown as merchantDropdown } from '@/views/daxpay/admin/merchant/info/Merchant.api' import { LabeledValue } from 'ant-design-vue/lib/select' - import ChannelSetup from '@/views/daxpay/admin/merchant/channel/ChannelSetup.vue' + import ChannelConfigList from '@/views/daxpay/admin/merchant/channel/ChannelConfigList.vue' // 使用hooks const { diff --git a/src/views/daxpay/admin/merchant/channel/ChannelConfig.api.ts b/src/views/daxpay/admin/merchant/channel/ChannelConfig.api.ts index 9138cc3d..a50d24f6 100644 --- a/src/views/daxpay/admin/merchant/channel/ChannelConfig.api.ts +++ b/src/views/daxpay/admin/merchant/channel/ChannelConfig.api.ts @@ -1,6 +1,7 @@ import { defHttp } from '@/utils/http/axios' import { Result } from '#/axios' -import { BaseEntity } from '#/web' +import { MchEntity } from '#/web' +import { unref } from 'vue' /** * 列表 @@ -9,7 +10,7 @@ export function findAll(appId) { return defHttp.get>({ url: '/channel/config/findAllByAppId', params: { - appId, + appId: unref(appId), }, }) } @@ -17,8 +18,7 @@ export function findAll(appId) { /** * 支付通道配着 */ -export interface ChannelConfig extends BaseEntity { - // 通道编码 +export interface ChannelConfig extends MchEntity { channel?: string // 通道名称 name?: string diff --git a/src/views/daxpay/admin/merchant/channel/ChannelConfigEdit.vue b/src/views/daxpay/admin/merchant/channel/ChannelConfigEdit.vue new file mode 100644 index 00000000..de0177ec --- /dev/null +++ b/src/views/daxpay/admin/merchant/channel/ChannelConfigEdit.vue @@ -0,0 +1,53 @@ + + + + diff --git a/src/views/daxpay/admin/merchant/channel/ChannelSetup.vue b/src/views/daxpay/admin/merchant/channel/ChannelConfigList.vue similarity index 81% rename from src/views/daxpay/admin/merchant/channel/ChannelSetup.vue rename to src/views/daxpay/admin/merchant/channel/ChannelConfigList.vue index f587b247..2ffb28cb 100644 --- a/src/views/daxpay/admin/merchant/channel/ChannelSetup.vue +++ b/src/views/daxpay/admin/merchant/channel/ChannelConfigList.vue @@ -12,7 +12,7 @@ - + + + + @@ -45,11 +58,14 @@ import alipay from '@/assets/daxpay/alipay.svg' import wechat from '@/assets/daxpay/wechat.svg' import unionPay from '@/assets/daxpay/unionPay.svg' + import ChannelConfigEdit from '@/views/daxpay/admin/merchant/channel/ChannelConfigEdit.vue' const confirmLoading = ref(false) const channelConfigs = ref([]) - const channelPayConfigEdit = ref() + const currentAppId = ref('') + + const channelConfigEdit = ref() const visible = ref(false) // 默认图片的base64值 @@ -61,9 +77,17 @@ */ async function init(appId: string) { visible.value = true - confirmLoading.value = true + currentAppId.value = appId + query() + } + + /** + * 查询 + */ + function query() { // 列表信息 - findAll(appId).then(({ data }) => { + confirmLoading.value = true + findAll(currentAppId.value).then(({ data }) => { channelConfigs.value = data confirmLoading.value = false }) @@ -73,7 +97,7 @@ * 打开支付设置界面 */ function setting(record: ChannelConfig) { - channelPayConfigEdit.value.show(record) + channelConfigEdit.value.show(record) } /** diff --git a/src/views/daxpay/admin/merchant/info/MerchantEdit.vue b/src/views/daxpay/admin/merchant/info/MerchantEdit.vue index b491ac57..963ba984 100644 --- a/src/views/daxpay/admin/merchant/info/MerchantEdit.vue +++ b/src/views/daxpay/admin/merchant/info/MerchantEdit.vue @@ -8,63 +8,65 @@ :open="visible" @close="handleCancel" > - - - - - - - - - - - - - - - - 身份证 - 护照 - 港澳居民来往内地通行证 - 台湾居民来往大陆通行证 - 户口簿 - 军人证 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + 身份证 + 护照 + 港澳居民来往内地通行证 + 台湾居民来往大陆通行证 + 户口簿 + 军人证 + + + + + + + + + + + + + + + +