feat(payment): 支付&付费菜单按参考主题重构并新增提现策略页
- 子菜单重组为知识付费/余额充值/VIP会员/创作分成/推广返佣/收款接口/提现策略 - 收款接口页 1:1 复刻 Zibll 双下拉结构,仅保留支付宝/微信/PayPal/Stripe/易支付 - 订单前缀/流水号前缀/提现单号前缀配置保留并移入收款接口页 - 知识付费/推广返佣按参考主题全字段复刻,余额充值并入充值卡配置 - 新增 tabbed/between_number/page_select 表单控件及后端 pages 搜索源 - 清理旧 SPA 组件、无消费者 REST 端点与废弃配置键(不写双路兼容) - 更新存量契约测试至新 schema 文件
This commit is contained in:
1 parent
fb5cdf247d
commit
a48007a44d
36 files changed
+2042
-2273
No files matched your search
@@ -1,24 +1,44 @@
|
||||
/**
|
||||
* 余额充值 — 参考主题结构:用户余额(含余额提现)、转账、充值商品选项、
|
||||
* 卡密充值、充值卡(原「充值卡」页并入)与余额兑换积分。
|
||||
*/
|
||||
export const rechargeSchema = {
|
||||
key: 'payment.recharge',
|
||||
title: '余额充值',
|
||||
icon: 'fa fas fa-bolt',
|
||||
description: '配置余额充值套餐、转账与积分兑换。',
|
||||
description: '配置余额功能、充值商品选项、卡密充值、充值卡规则与余额兑换积分。',
|
||||
defaults: {
|
||||
pay_balance_s: true,
|
||||
pay_balance_withdraw_s: false,
|
||||
pay_balance_desc: '',
|
||||
pay_balance_product: '30|30|入门包\n98|108|推荐包',
|
||||
pay_balance_product_name: '',
|
||||
pay_balance_price: 0,
|
||||
pay_balance_tag: '元',
|
||||
pay_balance_tag_class: '',
|
||||
pay_balance_product_custom_s: true,
|
||||
pay_balance_product_custom_limit: 9999,
|
||||
pay_balance_transfer_s: false,
|
||||
pay_balance_transfer_service_charge: 0,
|
||||
pay_balance_transfer_desc: '',
|
||||
pay_balance_product: [
|
||||
{ price: 50, pay_price: 0, tag: '', tag_class: '' },
|
||||
{ price: 100, pay_price: 98, tag: '', tag_class: '' },
|
||||
{ price: 200, pay_price: 188, tag: '推荐', tag_class: 'jb-cyan' },
|
||||
{ price: 500, pay_price: 468, tag: '特惠', tag_class: 'jb-pink' },
|
||||
],
|
||||
pay_balance_product_custom_s: true,
|
||||
pay_balance_product_custom_limit: 9999,
|
||||
pay_balance_pass_charge_s: false,
|
||||
pay_balance_pass_charge_desc: '',
|
||||
pay_balance_pass_charge_only_password: false,
|
||||
card_pass_enabled: false,
|
||||
card_pass_desc: '',
|
||||
card_pass_type: 'balance',
|
||||
card_pass_prefix: 'AK',
|
||||
card_pass_length: 16,
|
||||
card_pass_batch_size: 50,
|
||||
card_pass_max_redeem: 1,
|
||||
card_pass_expiry: 0,
|
||||
card_pass_amount: '10.00',
|
||||
card_pass_vip_days: 30,
|
||||
card_pass_credits: 0,
|
||||
card_pass_redeem_page: '',
|
||||
card_pass_success_msg: '兑换成功!',
|
||||
card_pass_fail_msg: '卡号无效或已过期',
|
||||
pay_balance_points_exchange_s: false,
|
||||
pay_balance_points_exchange_rate: 100,
|
||||
pay_balance_points_exchange_min_points: 100,
|
||||
@@ -26,34 +46,28 @@ export const rechargeSchema = {
|
||||
pay_balance_points_exchange_desc: '',
|
||||
},
|
||||
groups: [
|
||||
{
|
||||
key: 'notice',
|
||||
title: '说明',
|
||||
icon: 'fa fas fa-info-circle',
|
||||
fields: [
|
||||
{
|
||||
key: 'recharge_notice',
|
||||
label: '',
|
||||
type: 'content',
|
||||
ui_only: true,
|
||||
content: '<p><b>用户余额功能:</b></p><ul style="margin:6px 0 0 18px;line-height:1.9"><li>开启后用户可充值到余额,余额可用于全站消费</li><li>在下方设置默认的分成比例,同时支持单独为每一个用户设置独立的分成比例</li><li>可以在用户管理中,为某一个用户手动赠送余额</li></ul>',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'basic',
|
||||
title: '充值开关',
|
||||
title: '用户余额',
|
||||
icon: 'fa fas fa-credit-card',
|
||||
fields: [
|
||||
{ key: 'pay_balance_s', label: '启用余额功能', type: 'switch', default: true, help: '开启后用户中心显示现金钱包,并默认允许余额支付(可在收款接口单独关闭)。充值需另配支付宝/微信等外部网关。' },
|
||||
{ key: 'pay_balance_desc', label: '充值说明', type: 'textarea', default: '', dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'packages',
|
||||
title: '充值套餐',
|
||||
icon: 'fa fas fa-folder-open',
|
||||
fields: [
|
||||
{ key: 'pay_balance_product', label: '套餐列表', type: 'textarea', default: '30|30|入门包\n98|108|推荐包', help: '每行一个套餐:支付金额|到账金额|标题', dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'product',
|
||||
title: '充值产品',
|
||||
icon: 'fa fas fa-archive',
|
||||
fields: [
|
||||
{ key: 'pay_balance_product_name', label: '充值产品', type: 'input', default: '', dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
{ key: 'pay_balance_price', label: '充值价格', type: 'number', default: 0, min: 0, max: 99999, dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
{ key: 'pay_balance_tag', label: '价格标签', type: 'input', default: '元', dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
{ key: 'pay_balance_tag_class', label: '标签样式', type: 'input', default: '', dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
{ key: 'pay_balance_product_custom_s', label: '自定义金额', type: 'switch', default: true, dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
{ key: 'pay_balance_product_custom_limit', label: '自定义金额限制', type: 'number', default: 9999, min: 1, max: 99999, dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
{ key: 'pay_balance_s', label: '启用余额充值/支付功能', type: 'switch', default: true, help: '开启后用户中心显示现金钱包,并可作为收银台支付方式' },
|
||||
{ key: 'pay_balance_withdraw_s', label: '余额提现', type: 'switch', default: false, dependsOn: { key: 'pay_balance_s', value: true }, help: '允许将余额提现' },
|
||||
{ key: 'pay_balance_desc', label: '充值说明', type: 'textarea', default: '', rows: 3, dependsOn: { key: 'pay_balance_s', value: true }, help: '用户充值时显示的内容,建议为提醒事项、充值协议等,支持HTML代码' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -61,23 +75,83 @@ export const rechargeSchema = {
|
||||
title: '余额转账',
|
||||
icon: 'fa fas fa-exchange-alt',
|
||||
fields: [
|
||||
{ key: 'pay_balance_transfer_s', label: '启用余额转账', type: 'switch', default: false },
|
||||
{ key: 'pay_balance_transfer_s', label: '启用余额转账', type: 'switch', default: false, help: '允许用户转账给其他用户' },
|
||||
{ key: 'pay_balance_transfer_service_charge', label: '转账手续费(%)', type: 'number', default: 0, min: 0, max: 50, dependsOn: { key: 'pay_balance_transfer_s', value: true } },
|
||||
{ key: 'pay_balance_transfer_desc', label: '转账说明', type: 'textarea', default: '', dependsOn: { key: 'pay_balance_transfer_s', value: true } },
|
||||
{ key: 'pay_balance_transfer_desc', label: '转账说明', type: 'textarea', default: '', rows: 2, dependsOn: { key: 'pay_balance_transfer_s', value: true }, help: '用户转账时候显示的内容,建议为提醒事项、转账协议等,支持HTML代码' },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'products',
|
||||
title: '充值商品选项',
|
||||
icon: 'fa fas fa-archive',
|
||||
fields: [
|
||||
{
|
||||
key: 'pay_balance_product',
|
||||
label: '充值金额选项',
|
||||
type: 'group',
|
||||
button_title: '添加充值金额选项',
|
||||
default: [
|
||||
{ price: 50, pay_price: 0, tag: '', tag_class: '' },
|
||||
{ price: 100, pay_price: 98, tag: '', tag_class: '' },
|
||||
{ price: 200, pay_price: 188, tag: '推荐', tag_class: 'jb-cyan' },
|
||||
{ price: 500, pay_price: 468, tag: '特惠', tag_class: 'jb-pink' },
|
||||
],
|
||||
help: '用户充值时候,可快速选择的充值金额,同时支持设置折扣',
|
||||
fields: [
|
||||
{ key: 'price', label: '充值金额', type: 'number', default: 100, min: 0, suffix: '元' },
|
||||
{ key: 'pay_price', label: '销售金额', type: 'number', default: 0, min: 0, suffix: '元', help: '选填,设置不同的销售金额实现充值折扣的功能,设置为0则与充值金额一致' },
|
||||
{ key: 'tag', label: '小标签', type: 'input', default: '', help: '支持HTML,请注意控制长度' },
|
||||
{ key: 'tag_class', label: '标签颜色类', type: 'input', default: '', help: '主题标签颜色类,如 jb-cyan / jb-pink' },
|
||||
],
|
||||
},
|
||||
{ key: 'pay_balance_product_custom_s', label: '自定义充值金额', type: 'switch', default: true, help: '允许用户手动输入充值金额' },
|
||||
{ key: 'pay_balance_product_custom_limit', label: '自定义充值金额上限', type: 'number', default: 9999, min: 1, max: 99999, dependsOn: { key: 'pay_balance_product_custom_s', value: true } },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'pass-charge',
|
||||
title: '充值卡免扣',
|
||||
title: '卡密充值',
|
||||
icon: 'fa fas fa-ticket-alt',
|
||||
fields: [
|
||||
{ key: 'pay_balance_pass_charge_s', label: '启用余额卡密兑换', type: 'switch', default: false },
|
||||
{ key: 'pay_balance_pass_charge_desc', label: '卡密兑换说明', type: 'textarea', default: '', dependsOn: { key: 'pay_balance_pass_charge_s', value: true } },
|
||||
{ key: 'pay_balance_pass_charge_only_password', label: '仅密码兑换', type: 'switch', default: false, dependsOn: { key: 'pay_balance_pass_charge_s', value: true } },
|
||||
{ key: 'pay_balance_pass_charge_s', label: '启用卡密充值余额功能', type: 'switch', default: false },
|
||||
{ key: 'pay_balance_pass_charge_desc', label: '卡密充值说明', type: 'textarea', default: '', rows: 2, dependsOn: { key: 'pay_balance_pass_charge_s', value: true }, help: '用户使用卡密充值时显示的内容,建议为提醒事项、充值协议等,支持HTML代码' },
|
||||
{ key: 'pay_balance_pass_charge_only_password', label: '单密码模式', type: 'switch', default: false, dependsOn: { key: 'pay_balance_pass_charge_s', value: true }, help: '仅需输入密码,不需要卡号' },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'exchange',
|
||||
key: 'charge-card',
|
||||
title: '充值卡',
|
||||
icon: 'fa fas fa-id-card',
|
||||
fields: [
|
||||
{ key: 'card_pass_enabled', label: '启用充值卡', type: 'switch', default: false, help: '充值卡规则与批量发卡配置;卡密兑换入口由上方「卡密充值」控制' },
|
||||
{ key: 'card_pass_desc', label: '充值卡说明', type: 'textarea', default: '', dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{
|
||||
key: 'card_pass_type',
|
||||
label: '充值卡类型',
|
||||
type: 'select',
|
||||
default: 'balance',
|
||||
dependsOn: { key: 'card_pass_enabled', value: true },
|
||||
options: [
|
||||
{ label: '余额卡', value: 'balance' },
|
||||
{ label: 'VIP卡', value: 'vip' },
|
||||
{ label: '积分卡', value: 'credits' },
|
||||
],
|
||||
},
|
||||
{ key: 'card_pass_prefix', label: '卡号前缀', type: 'input', default: 'AK', dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_length', label: '卡号长度', type: 'number', default: 16, min: 8, max: 32, dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_batch_size', label: '批量生成数量', type: 'number', default: 50, min: 1, max: 500, dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_max_redeem', label: '单卡最大兑换次数', type: 'number', default: 1, min: 1, max: 100, dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_expiry', label: '有效期(天)', type: 'number', default: 0, min: 0, help: '0为永久有效', dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_amount', label: '面额(元)', type: 'input', sanitize_type: 'money_decimal', default: '10.00', min: 1, max: 9999, dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_vip_days', label: 'VIP天数', type: 'number', default: 30, min: 1, max: 3650, dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_credits', label: '赠送积分', type: 'number', default: 0, min: 0, max: 99999, dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_redeem_page', label: '兑换页面', type: 'input', default: '', dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_success_msg', label: '兑换成功提示', type: 'input', default: '兑换成功!', dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
{ key: 'card_pass_fail_msg', label: '兑换失败提示', type: 'input', default: '卡号无效或已过期', dependsOn: { key: 'card_pass_enabled', value: true } },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'points-exchange',
|
||||
title: '余额兑换积分',
|
||||
icon: 'fa fas fa-database',
|
||||
fields: [
|
||||
|
||||
Reference in new issue
Block a user