feat: 服务商通道商户创建时应用授权令牌改为非必填,基础管理添加代运营授权卡片

This commit is contained in:
DaxPay Dev
2026-06-15 15:01:14 +08:00
parent a99ce55851
commit 25c5aeb21f
6 changed files with 30 additions and 12 deletions

View File

@@ -87,7 +87,7 @@ export interface AlipayIsvChannelMerchantCreateParam {
/** 子商户支付宝用户ID(2088开头) */
alipayUserId: string;
/** 应用授权令牌 */
appAuthToken: string;
appAuthToken?: string;
}
/**

View File

@@ -17,6 +17,8 @@
"groupApp": "App Management",
"cardBasicInfo": "Basic Info",
"cardBasicInfoDesc": "View channel merchant basic configuration",
"cardAuthOperation": "Auth Operation",
"cardAuthOperationDesc": "Authorize platform to operate Alipay merchant, get app auth token",
"cardApp": "App Management",
"cardAppDesc": "Channel merchant app creation and management",
"basicInfoDrawerTitle": "Basic Info",

View File

@@ -17,6 +17,8 @@
"groupApp": "应用管理",
"cardBasicInfo": "基本信息",
"cardBasicInfoDesc": "查看通道商户基础配置信息",
"cardAuthOperation": "代运营授权",
"cardAuthOperationDesc": "授权平台代运营支付宝商户,获取应用授权令牌",
"cardApp": "应用管理",
"cardAppDesc": "通道商户应用创建与管理",
"basicInfoDrawerTitle": "基本信息",

View File

@@ -66,7 +66,7 @@ const rules = computed(() => ({
channelMerchantName: [{ required: true, message: $t('payment.merchant.channelMerchant.channelMerchantNameRequired') }],
appId: [{ required: true, message: $t('payment.merchant.channelMerchant.alipayIsvAppRequired') }],
alipayUserId: [{ required: true, message: $t('payment.merchant.channelMerchant.alipaySubMerchantNoRequired') }],
appAuthToken: [{ required: true, message: $t('payment.merchant.channelMerchant.appAuthTokenRequired') }],
appAuthToken: [{ required: false }],
}));
/** 支付宝应用下拉选项(值为系统主键id, 展示应用名+支付宝APPID便于识别) */

View File

@@ -6,6 +6,7 @@ import { $t } from '@vben/locales';
import { IconifyIcon } from '@vben-core/icons';
import type { ChannelMerchantResult } from '#/api/payment/channel/channel-merchant.api';
import { useMessage } from '#/hooks/useMessage';
import AlipayChannelMerchantBasicInfo from './AlipayChannelMerchantBasicInfo.vue';
@@ -15,6 +16,7 @@ const mchNo = ref('');
const channelMchNo = ref('');
const channelMerchant = ref<ChannelMerchantResult>({});
const basicInfoRef = ref<InstanceType<typeof AlipayChannelMerchantBasicInfo>>();
const { message } = useMessage();
/** 功能卡片配置(服务商通道商户:仅基本信息) */
const functionCards = computed(() => [
@@ -22,15 +24,22 @@ const functionCards = computed(() => [
// 国际化:基础管理
group: $t('payment.merchant.channelMerchant.groupBasic'),
color: 'blue',
cards: [
{
key: 'basicInfo',
// 国际化:基本信息
title: $t('payment.merchant.channelMerchant.cardBasicInfo'),
icon: 'ant-design:info-circle-outlined',
description: $t('payment.merchant.channelMerchant.cardBasicInfoDesc'),
},
],
cards: [
{
key: 'basicInfo',
// 国际化:基本信息
title: $t('payment.merchant.channelMerchant.cardBasicInfo'),
icon: 'ant-design:info-circle-outlined',
description: $t('payment.merchant.channelMerchant.cardBasicInfoDesc'),
},
{
key: 'authOperation',
// 国际化:代运营授权
title: $t('payment.merchant.channelMerchant.cardAuthOperation'),
icon: 'ant-design:safety-certificate-outlined',
description: $t('payment.merchant.channelMerchant.cardAuthOperationDesc'),
},
],
},
]);
@@ -60,6 +69,12 @@ function init(no: string, mchChannelNo: string, summary: ChannelMerchantResult)
function handleCardClick(card: { key: string }) {
if (card.key === 'basicInfo') {
basicInfoRef.value?.open();
return;
}
if (card.key === 'authOperation') {
// 国际化:功能开发中,敬请期待
message.info($t('payment.merchant.channelMerchant.developing'));
return;
}
}

View File

@@ -20,7 +20,6 @@
const channelMchNo = ref('');
const channelMerchant = ref<ChannelMerchantResult>({});
const basicInfoRef = ref<InstanceType<typeof AlipayChannelMerchantBasicInfo>>();
/** 功能卡片配置 */
const functionCards = computed(() => [
{