mirror of
https://gitee.com/bootx/dax-pay-ui
synced 2026-08-11 07:05:33 +08:00
refactor(admin): 支付模式文案统一为「直接指定」
将开发调试、聚合支付、收银台中 direct 模式的「指定通道商户/直传/传值」统一为「直接指定」,并同步多语言与代码注释。
This commit is contained in:
@@ -24,7 +24,7 @@ export const DevelopTradeApi = {
|
||||
},
|
||||
|
||||
/**
|
||||
* 传值模式: 按商户号筛选通道商户候选, provider 非空时仅返回声明支持该支付渠道的通道商户
|
||||
* 直接指定: 按商户号筛选通道商户候选, provider 非空时仅返回声明支持该支付渠道的通道商户
|
||||
*/
|
||||
channelMchCandidates(mchNo: string, provider?: string): Promise<Result<LabelValue[]>> {
|
||||
return defHttp.get({
|
||||
@@ -34,7 +34,7 @@ export const DevelopTradeApi = {
|
||||
},
|
||||
|
||||
/**
|
||||
* 传值模式: 按通道商户筛选支付能力候选
|
||||
* 直接指定: 按通道商户筛选支付能力候选
|
||||
*/
|
||||
capabilityCandidates(channelMchNo: string): Promise<Result<LabelValue[]>> {
|
||||
return defHttp.get({
|
||||
@@ -58,7 +58,7 @@ export interface PayParam {
|
||||
mchNo: string;
|
||||
/** 应用号 */
|
||||
appId?: string;
|
||||
/** 通道商户号(调试/指定通道商户时传入) */
|
||||
/** 通道商户号(调试/直接指定时传入) */
|
||||
channelMchNo?: string;
|
||||
/** 商户订单号 */
|
||||
bizOrderNo: string;
|
||||
@@ -70,9 +70,9 @@ export interface PayParam {
|
||||
amount: number;
|
||||
/** 支付产品编码, 为空时由路由自动选择 */
|
||||
product?: string;
|
||||
/** 支付方式编码(路由模式必填, 传值模式由后端从能力反推) */
|
||||
/** 支付方式编码(跟随通道路由必填, 直接指定由后端从能力反推) */
|
||||
method?: string;
|
||||
/** 支付能力编码(传值模式输入, 路由模式由后端回填) */
|
||||
/** 支付能力编码(直接指定输入, 跟随通道路由由后端回填) */
|
||||
capability?: string;
|
||||
/** 用户标识 OpenId(微信 jsapi/mini 场景) */
|
||||
openId?: string;
|
||||
|
||||
@@ -65,9 +65,9 @@
|
||||
"mode": {
|
||||
"label": "Pay Mode",
|
||||
"route": "Follow Channel Routing",
|
||||
"direct": "Explicit Channel Merchant",
|
||||
"direct": "Specify Directly",
|
||||
"routeDesc": "Resolve channel merchant and capability via the app's channel routing",
|
||||
"directDesc": "Decided by channel merchant + capability; skip channel routing"
|
||||
"directDesc": "Directly specify channel merchant + capability; skip channel routing"
|
||||
},
|
||||
"preview": {
|
||||
"title": "Request JSON",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"autoLaunchHint": "Automatically initiate payment after scanning, no manual click needed",
|
||||
"autoModeHint": "System derives pay method from open environment and follows app channel routing. No manual config needed.",
|
||||
"methodModeHint": "Manually select pay method per open environment, then resolve via app channel routing.",
|
||||
"directModeHint": "Explicitly set channel merchant and capability per open environment; skip channel routing.",
|
||||
"directModeHint": "Directly specify channel merchant and capability per open environment; skip channel routing.",
|
||||
"scene": "Open Environment",
|
||||
"method": "Payment Method",
|
||||
"methodPlaceholder": "Select payment method",
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "Follow Channel Routing",
|
||||
"modeMethod": "By Method",
|
||||
"modeDirect": "Explicit Channel Merchant"
|
||||
"modeDirect": "Specify Directly"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "Smaller numbers first",
|
||||
"resolveMode": "Pay Resolve Mode",
|
||||
"modeMethod": "By Method",
|
||||
"modeDirect": "Explicit Channel Merchant",
|
||||
"modeDirect": "Specify Directly",
|
||||
"method": "Payment Method",
|
||||
"methodPlaceholder": "Select payment method",
|
||||
"channelMerchant": "Channel Merchant",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "Modus Bayar",
|
||||
"route": "Ikuti Perutean Saluran",
|
||||
"direct": "Pedagang Saluran Eksplisit",
|
||||
"direct": "Tentukan Langsung",
|
||||
"routeDesc": "Selesaikan pedagang saluran dan kemampuan melalui perutean saluran aplikasi",
|
||||
"directDesc": "Diputuskan oleh pedagang saluran + kemampuan; lewati perutean saluran"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "Ikuti Perutean Saluran",
|
||||
"modeMethod": "Berdasarkan Metode",
|
||||
"modeDirect": "Pedagang Saluran Eksplisit"
|
||||
"modeDirect": "Tentukan Langsung"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "Angka yang lebih kecil terlebih dahulu",
|
||||
"resolveMode": "Mode Penyelesaian Bayar",
|
||||
"modeMethod": "Berdasarkan Metode",
|
||||
"modeDirect": "Pedagang Saluran Eksplisit",
|
||||
"modeDirect": "Tentukan Langsung",
|
||||
"method": "Metode Pembayaran",
|
||||
"methodPlaceholder": "Pilih metode pembayaran",
|
||||
"channelMerchant": "Pedagang Saluran",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "ペイモード",
|
||||
"route": "チャンネルルーティングに従う",
|
||||
"direct": "明示的なチャネル販売者",
|
||||
"direct": "直接指定",
|
||||
"routeDesc": "アプリのチャネルルーティングを介してチャネルマーチャントと機能を解決します",
|
||||
"directDesc": "チャネル販売業者と能力によって決定されます。チャンネルルーティングをスキップする"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "チャンネルルーティングに従う",
|
||||
"modeMethod": "方法別",
|
||||
"modeDirect": "明示的なチャネル販売者"
|
||||
"modeDirect": "直接指定"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "小さい数字から順に",
|
||||
"resolveMode": "支払い解決モード",
|
||||
"modeMethod": "方法別",
|
||||
"modeDirect": "明示的なチャネル販売者",
|
||||
"modeDirect": "直接指定",
|
||||
"method": "支払方法",
|
||||
"methodPlaceholder": "支払い方法を選択してください",
|
||||
"channelMerchant": "チャネルマーチャント",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "지불 모드",
|
||||
"route": "채널 라우팅 따르기",
|
||||
"direct": "명시적 채널 판매자",
|
||||
"direct": "직접 지정",
|
||||
"routeDesc": "앱의 채널 라우팅을 통해 채널 판매자 및 기능을 해결합니다.",
|
||||
"directDesc": "채널 판매자 + 역량에 따라 결정됩니다. 채널 라우팅 건너뛰기"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "채널 라우팅 따르기",
|
||||
"modeMethod": "방법별",
|
||||
"modeDirect": "명시적 채널 판매자"
|
||||
"modeDirect": "직접 지정"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "작은 숫자부터 먼저",
|
||||
"resolveMode": "지불 해결 모드",
|
||||
"modeMethod": "방법별",
|
||||
"modeDirect": "명시적 채널 판매자",
|
||||
"modeDirect": "직접 지정",
|
||||
"method": "결제 방법",
|
||||
"methodPlaceholder": "결제 수단 선택",
|
||||
"channelMerchant": "채널 판매자",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "Mod Bayar",
|
||||
"route": "Ikuti Penghalaan Saluran",
|
||||
"direct": "Pedagang Saluran Eksplisit",
|
||||
"direct": "Tentukan Langsung",
|
||||
"routeDesc": "Selesaikan pedagang saluran dan keupayaan melalui penghalaan saluran apl",
|
||||
"directDesc": "Diputuskan oleh pedagang saluran + keupayaan; langkau penghalaan saluran"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "Ikuti Penghalaan Saluran",
|
||||
"modeMethod": "Mengikut Kaedah",
|
||||
"modeDirect": "Pedagang Saluran Eksplisit"
|
||||
"modeDirect": "Tentukan Langsung"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "Nombor yang lebih kecil dahulu",
|
||||
"resolveMode": "Mod Penyelesaian Bayar",
|
||||
"modeMethod": "Mengikut Kaedah",
|
||||
"modeDirect": "Pedagang Saluran Eksplisit",
|
||||
"modeDirect": "Tentukan Langsung",
|
||||
"method": "Kaedah Pembayaran",
|
||||
"methodPlaceholder": "Pilih kaedah pembayaran",
|
||||
"channelMerchant": "Peniaga Saluran",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "โหมดการชำระเงิน",
|
||||
"route": "ติดตามการกำหนดเส้นทางช่อง",
|
||||
"direct": "ผู้ค้าช่องทางที่ชัดเจน",
|
||||
"direct": "ระบุโดยตรง",
|
||||
"routeDesc": "แก้ไขผู้ค้าช่องทางและความสามารถผ่านการกำหนดเส้นทางช่องทางของแอป",
|
||||
"directDesc": "ตัดสินใจโดยช่องทางการค้า + ความสามารถ; ข้ามการกำหนดเส้นทางช่อง"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "ติดตามการกำหนดเส้นทางช่อง",
|
||||
"modeMethod": "โดยวิธีการ",
|
||||
"modeDirect": "ผู้ค้าช่องทางที่ชัดเจน"
|
||||
"modeDirect": "ระบุโดยตรง"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "ตัวเลขที่น้อยกว่าก่อน",
|
||||
"resolveMode": "โหมดการแก้ปัญหาการชำระเงิน",
|
||||
"modeMethod": "โดยวิธีการ",
|
||||
"modeDirect": "ผู้ค้าช่องทางที่ชัดเจน",
|
||||
"modeDirect": "ระบุโดยตรง",
|
||||
"method": "วิธีการชำระเงิน",
|
||||
"methodPlaceholder": "เลือกวิธีการชำระเงิน",
|
||||
"channelMerchant": "พ่อค้าช่องทาง",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "Chế độ thanh toán",
|
||||
"route": "Theo dõi định tuyến kênh",
|
||||
"direct": "Người bán kênh rõ ràng",
|
||||
"direct": "Chỉ định trực tiếp",
|
||||
"routeDesc": "Giải quyết khả năng và người bán kênh thông qua định tuyến kênh của ứng dụng",
|
||||
"directDesc": "Quyết định bởi người bán kênh + khả năng; bỏ qua định tuyến kênh"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "Theo dõi định tuyến kênh",
|
||||
"modeMethod": "Bằng phương pháp",
|
||||
"modeDirect": "Người bán kênh rõ ràng"
|
||||
"modeDirect": "Chỉ định trực tiếp"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "Số nhỏ hơn trước",
|
||||
"resolveMode": "Chế độ giải quyết thanh toán",
|
||||
"modeMethod": "Bằng phương pháp",
|
||||
"modeDirect": "Người bán kênh rõ ràng",
|
||||
"modeDirect": "Chỉ định trực tiếp",
|
||||
"method": "Phương thức thanh toán",
|
||||
"methodPlaceholder": "Chọn phương thức thanh toán",
|
||||
"channelMerchant": "Người bán kênh",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "支付模式",
|
||||
"route": "跟随通道路由",
|
||||
"direct": "指定通道商户",
|
||||
"direct": "直接指定",
|
||||
"routeDesc": "按应用通道路由解析通道商户与支付能力",
|
||||
"directDesc": "由通道商户+支付能力直接决定支付实现,跳过通道路由"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "跟随通道路由",
|
||||
"modeMethod": "指定支付方式",
|
||||
"modeDirect": "指定通道商户"
|
||||
"modeDirect": "直接指定"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "数字越小越靠前",
|
||||
"resolveMode": "支付解析方式",
|
||||
"modeMethod": "指定支付方式",
|
||||
"modeDirect": "指定通道商户",
|
||||
"modeDirect": "直接指定",
|
||||
"method": "支付方式",
|
||||
"methodPlaceholder": "请选择支付方式",
|
||||
"channelMerchant": "通道商户",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "支付模式",
|
||||
"route": "跟隨通道路由",
|
||||
"direct": "指定通道商户",
|
||||
"direct": "直接指定",
|
||||
"routeDesc": "按應用通道路由解析通道商户與支付能力",
|
||||
"directDesc": "由通道商户+支付能力直接決定支付實現,跳過通道路由"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "跟隨通道路由",
|
||||
"modeMethod": "指定支付方式",
|
||||
"modeDirect": "指定通道商户"
|
||||
"modeDirect": "直接指定"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "數字越小越靠前",
|
||||
"resolveMode": "支付解析方式",
|
||||
"modeMethod": "指定支付方式",
|
||||
"modeDirect": "指定通道商户",
|
||||
"modeDirect": "直接指定",
|
||||
"method": "支付方式",
|
||||
"methodPlaceholder": "請選擇支付方式",
|
||||
"channelMerchant": "通道商户",
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"mode": {
|
||||
"label": "支付模式",
|
||||
"route": "跟隨通道路由",
|
||||
"direct": "指定通道商戶",
|
||||
"direct": "直接指定",
|
||||
"routeDesc": "按應用通道路由解析通道商戶與支付能力",
|
||||
"directDesc": "由通道商戶+支付能力直接決定支付實現,跳過通道路由"
|
||||
},
|
||||
|
||||
@@ -27,6 +27,6 @@
|
||||
},
|
||||
"modeAuto": "跟隨通道路由",
|
||||
"modeMethod": "指定支付方式",
|
||||
"modeDirect": "指定通道商戶"
|
||||
"modeDirect": "直接指定"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"sortNoPlaceholder": "數字越小越靠前",
|
||||
"resolveMode": "支付解析方式",
|
||||
"modeMethod": "指定支付方式",
|
||||
"modeDirect": "指定通道商戶",
|
||||
"modeDirect": "直接指定",
|
||||
"method": "支付方式",
|
||||
"methodPlaceholder": "請選擇支付方式",
|
||||
"channelMerchant": "通道商戶",
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
// 私钥在 localStorage 中的键名
|
||||
const PRIVATE_KEY_STORAGE_KEY = 'daxpay_dev_private_key';
|
||||
|
||||
// 支付模式: route=路由模式(商户+方式+应用动态匹配) direct=直传模式(通道商户+能力直接决定)
|
||||
// 支付模式: route=路由模式(商户+方式+应用动态匹配) direct=直接指定(通道商户+能力直接决定)
|
||||
const routeMode = ref<'direct' | 'route'>('route');
|
||||
|
||||
// 私钥独立存储(标签+弹窗交互, 校验通过 form 自定义规则挂接)
|
||||
@@ -61,7 +61,7 @@
|
||||
if (routeMode.value === 'route') {
|
||||
rules.method = [{ required: true, message: $t('payment.develop.trade.rule.method') }];
|
||||
} else {
|
||||
// 直传模式: 通道商户与支付能力必填
|
||||
// 直接指定: 通道商户与支付能力必填
|
||||
rules.channelMchNo = [{ required: true, message: $t('payment.develop.trade.rule.channelMchNo') }];
|
||||
rules.capability = [{ required: true, message: $t('payment.develop.trade.rule.capability') }];
|
||||
}
|
||||
@@ -138,7 +138,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
/** 商户变更: 刷新应用列表, 直传模式下重载通道商户候选 */
|
||||
/** 商户变更: 刷新应用列表, 直接指定下重载通道商户候选 */
|
||||
function merchantChange() {
|
||||
form.appId = '';
|
||||
form.channelMchNo = '';
|
||||
@@ -155,7 +155,7 @@
|
||||
value: item.appId ?? '',
|
||||
})) ?? [];
|
||||
});
|
||||
// 直传模式: 商户变更即加载通道商户候选(不依赖支付方式)
|
||||
// 直接指定: 商户变更即加载通道商户候选(不依赖支付方式)
|
||||
if (routeMode.value === 'direct') {
|
||||
loadChannelMchCandidates(form.mchNo);
|
||||
}
|
||||
@@ -170,7 +170,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
/** 模式切换: 清空通道相关字段, 直传模式重载通道商户候选 */
|
||||
/** 模式切换: 清空通道相关字段, 直接指定重载通道商户候选 */
|
||||
function modeChange() {
|
||||
form.channelMchNo = '';
|
||||
form.capability = '';
|
||||
@@ -269,7 +269,7 @@
|
||||
|
||||
/**
|
||||
* 按当前模式组装提交参数(含公共字段 reqTime/nonceStr)
|
||||
* 各模式只透传自身字段; 直传模式 method 由 unipay 路由反推
|
||||
* 各模式只透传自身字段; 直接指定 method 由 unipay 路由反推
|
||||
*/
|
||||
function buildPayload(): PayParam {
|
||||
const payload: PayParam = {
|
||||
@@ -285,7 +285,7 @@
|
||||
payload.channelMchNo = undefined;
|
||||
payload.capability = undefined;
|
||||
} else {
|
||||
// 直传模式: method 由后端从(通道商户, 能力)反推, 不透传
|
||||
// 直接指定: method 由后端从(通道商户, 能力)反推, 不透传
|
||||
payload.method = undefined;
|
||||
}
|
||||
return cleanPayload(payload);
|
||||
@@ -538,7 +538,7 @@
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- 直传模式: 通道商户(必填) -->
|
||||
<!-- 直接指定: 通道商户(必填) -->
|
||||
<a-col v-if="routeMode === 'direct'" :span="8">
|
||||
<a-form-item :label="$t('payment.develop.trade.field.channelMchNo')" name="channelMchNo">
|
||||
<a-select
|
||||
@@ -552,7 +552,7 @@
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- 直传模式: 支付能力(必填, 由通道商户+能力直接决定支付实现) -->
|
||||
<!-- 直接指定: 支付能力(必填, 由通道商户+能力直接决定支付实现) -->
|
||||
<a-col v-if="routeMode === 'direct'" :span="8">
|
||||
<a-form-item :label="$t('payment.develop.trade.field.capability')" name="capability">
|
||||
<a-select
|
||||
|
||||
@@ -30,5 +30,5 @@ export const AGGREGATE_CLIENT_ENVS: AggregateClientEnvConfig[] = [
|
||||
export const LEVEL_DISPLAY: Record<AggregateLevel, string> = {
|
||||
auto: '跟随通道路由',
|
||||
method: '指定支付方式',
|
||||
direct: '指定通道商户',
|
||||
direct: '直接指定',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user