feat(payment): 支付&付费菜单按参考主题重构并新增提现策略页

- 子菜单重组为知识付费/余额充值/VIP会员/创作分成/推广返佣/收款接口/提现策略
- 收款接口页 1:1 复刻 Zibll 双下拉结构,仅保留支付宝/微信/PayPal/Stripe/易支付
- 订单前缀/流水号前缀/提现单号前缀配置保留并移入收款接口页
- 知识付费/推广返佣按参考主题全字段复刻,余额充值并入充值卡配置
- 新增 tabbed/between_number/page_select 表单控件及后端 pages 搜索源
- 清理旧 SPA 组件、无消费者 REST 端点与废弃配置键(不写双路兼容)
- 更新存量契约测试至新 schema 文件
This commit is contained in:
kate522 committed 2026-09-16 19:18:28 +08:00
1 parent fb5cdf247d
commit a48007a44d
36 files changed
+2042 -2273

No files matched your search

@@ -1,38 +1,183 @@
/**
* 推广返佣 — 参考主题结构:开关、识别模式、自己推广自己、按用户类型分档的
* 返佣规则(tab)、文案、推广海报与推广让利标签。
*/
export const affiliateSchema = {
key: 'payment.affiliate',
title: '推广返佣',
icon: 'fa fas fa-share-alt',
description: '配置推广归因、分级佣金比例和结算规则。',
icon: 'fa fas fa-btc',
description: '推广识别模式、分档返佣规则、返佣文案、推广海报与让利标签。',
defaults: {
affiliate_enabled: false,
affiliate_ratio_user: 5,
affiliate_ratio_vip_1: 5,
affiliate_ratio_vip_2: 5,
affiliate_order_types: ['membership', 'content'],
pay_rebate_s: false,
pay_rebate_judgment: 'all',
pay_rebate_show_users: true,
pay_rebate_self_s: true,
pay_rebate_user_s: [],
pay_rebate_ratio: 5,
pay_rebate_user_s_1: ['all'],
pay_rebate_ratio_vip_1: 10,
pay_rebate_user_s_2: ['all'],
pay_rebate_ratio_vip_2: 20,
affiliate_settlement_days: 7,
affiliate_promotion_text: '',
pay_rebate_text_desc: '加入分享计划,获得高额奖励',
pay_rebate_text_details_title: '返佣详解',
pay_rebate_text_details: '<p>通过您的推广链接打开本站后,在本站购买商品即可获得佣金</p><p>通过您的推广链接注册后的用户今后购买的商品均可获得佣金</p><p>申请提现后,需后台人工处理,一般2-3小时,请耐心等待</p>',
pay_rebate_poster_s: true,
pay_rebate_poster_img: '',
pay_rebate_poster_title: '发现一个精品网站,快来看一看',
pay_rebate_poster_desc: '网站有超多精品资源和优惠福利,扫码进入网站还可享受诸多优惠哦',
pay_rebate_text_discount: '推荐购买 下单再减%discount%',
},
groups: [
{
key: 'policy',
title: '返佣策略',
icon: 'fa fas fa-sitemap',
key: 'notice',
title: '说明',
icon: 'fa fas fa-info-circle',
fields: [
{ key: 'affiliate_enabled', label: '启用推广返佣', type: 'switch', default: false },
{ key: 'affiliate_ratio_user', label: '普通会员佣金比例(%)', type: 'number', default: 5, min: 0, max: 100, dependsOn: { key: 'affiliate_enabled', value: true } },
{ key: 'affiliate_ratio_vip_1', label: '一级会员佣金比例(%)', type: 'number', default: 5, min: 0, max: 100, dependsOn: { key: 'affiliate_enabled', value: true } },
{ key: 'affiliate_ratio_vip_2', label: '二级会员佣金比例(%)', type: 'number', default: 5, min: 0, max: 100, dependsOn: { key: 'affiliate_enabled', value: true } },
{ key: 'affiliate_order_types', label: '适用订单类型', type: 'checkbox', default: ['membership', 'content'], sanitize_type: 'array', options: [{ label: '会员订单', value: 'membership' }, { label: '付费内容', value: 'content' }, { label: '购买积分', value: 'credits' }], dependsOn: { key: 'affiliate_enabled', value: true } },
{ key: 'affiliate_settlement_days', label: '结算观察期(天)', type: 'number', default: 7, min: 0, max: 90, dependsOn: { key: 'affiliate_enabled', value: true } },
{
key: 'affiliate_notice',
label: '',
type: 'content',
ui_only: true,
content: '<ul style="margin:0 0 0 18px;line-height:1.9"><li>识别模式「绑定注册」:用户只要是通过任意推广链接注册的,今后此用户消费均会给推荐人返佣</li><li>识别模式「仅推广链接」:只有通过推广链接购买的才会给推荐人返佣,不会考虑是否是推荐注册的</li><li>开启的订单类型如果一个都不勾选,则代表该用户类型不参与此功能</li><li>您可以根据网站的VIP设置相互配合设置相应的规则</li><li>下面的设置为全局设置,还可以单独为每一个用户设置规则和比例</li></ul>',
},
],
},
{
key: 'switch',
title: '推广返佣',
icon: 'fa fas fa-toggle-on',
fields: [
{ key: 'pay_rebate_s', label: '启用推广返佣', type: 'switch', default: false },
],
},
{
key: 'mode',
title: '推广识别模式',
icon: 'fa fas fa-link',
fields: [
{
key: 'pay_rebate_judgment',
label: '推广识别模式',
type: 'radio',
default: 'all',
dependsOn: { key: 'pay_rebate_s', value: true },
options: [
{ label: '绑定注册', value: 'all' },
{ label: '仅推广链接', value: 'link' },
],
},
{ key: 'pay_rebate_show_users', label: '用户中心显示我推荐的用户', type: 'switch', default: true, dependsOn: { key: 'pay_rebate_judgment', value: 'all' } },
{ key: 'pay_rebate_self_s', label: '自己推广自己', type: 'switch', default: true, dependsOn: { key: 'pay_rebate_s', value: true }, help: '允许使用自己的推广链接购买商品并获得佣金' },
],
},
{
key: 'rules',
title: '返佣规则',
icon: 'fa fas fa-table',
fields: [
{
key: 'rebate_rule',
label: '为不同用户类型设置返佣规则',
type: 'tabbed',
tabs: [
{
key: 'ordinary',
title: '普通用户',
fields: [
{
key: 'pay_rebate_user_s',
label: '返佣订单',
type: 'checkbox',
default: [],
dependsOn: { key: 'pay_rebate_s', value: true },
options: rebateTypeOptions,
help: '普通用户返利的订单类型,全部关闭,则代表普通用户不参与推广返佣',
},
{ key: 'pay_rebate_ratio', label: '普通用户返佣比例(%)', type: 'number', default: 5, min: 0, max: 100, dependsOn: { key: 'pay_rebate_s', value: true } },
],
},
{
key: 'vip1',
title: '一级会员',
fields: [
{
key: 'pay_rebate_user_s_1',
label: '返佣订单',
type: 'checkbox',
default: ['all'],
dependsOn: { key: 'pay_rebate_s', value: true },
options: rebateTypeOptions,
help: '一级会员返利的订单类型,全部关闭,则代表一级会员用户不参与推广返佣',
},
{ key: 'pay_rebate_ratio_vip_1', label: '一级会员返佣比例(%)', type: 'number', default: 10, min: 0, max: 100, dependsOn: { key: 'pay_rebate_s', value: true } },
],
},
{
key: 'vip2',
title: '二级会员',
fields: [
{
key: 'pay_rebate_user_s_2',
label: '返佣订单',
type: 'checkbox',
default: ['all'],
dependsOn: { key: 'pay_rebate_s', value: true },
options: rebateTypeOptions,
help: '二级会员返利的订单类型,全部关闭,则代表二级会员用户不参与推广返佣',
},
{ key: 'pay_rebate_ratio_vip_2', label: '二级会员返佣比例(%)', type: 'number', default: 20, min: 0, max: 100, dependsOn: { key: 'pay_rebate_s', value: true } },
],
},
],
},
{ key: 'affiliate_settlement_days', label: '结算观察期(天)', type: 'number', default: 7, min: 0, max: 90, dependsOn: { key: 'pay_rebate_s', value: true }, help: '订单完成后经过观察期,佣金才会结算到可提现余额' },
],
},
{
key: 'text',
title: '文案设置',
icon: 'fa fas fa-pen',
title: '返佣文案',
icon: 'fa fas fa-file-alt',
fields: [
{ key: 'affiliate_promotion_text', label: '推广说明', type: 'textarea', default: '', dependsOn: { key: 'affiliate_enabled', value: true } },
{ key: 'pay_rebate_text_desc', label: '返佣文案(一句话简介)', type: 'input', default: '加入分享计划,获得高额奖励', dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_text_details_title', label: '返佣详情标题', type: 'input', default: '返佣详解', dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_text_details', label: '返佣详情内容', type: 'textarea', sanitize_type: 'html', default: '<p>通过您的推广链接打开本站后,在本站购买商品即可获得佣金</p><p>通过您的推广链接注册后的用户今后购买的商品均可获得佣金</p><p>申请提现后,需后台人工处理,一般2-3小时,请耐心等待</p>', rows: 6, dependsOn: { key: 'pay_rebate_s', value: true }, help: '返佣详情介绍,建议为规则介绍或者其他说明,支持HTML代码' },
],
},
{
key: 'poster',
title: '推广海报',
icon: 'fa fas fa-image',
fields: [
{ key: 'pay_rebate_poster_s', label: '推广海报', type: 'switch', default: true, dependsOn: { key: 'pay_rebate_s', value: true }, help: '在用户中心显示包含二维码的推广海报' },
{ key: 'pay_rebate_poster_img', label: '推广海报顶部图片', type: 'media', default: '', dependsOn: { key: 'pay_rebate_poster_s', value: true } },
{ key: 'pay_rebate_poster_title', label: '推广海报标题(20-30个字)', type: 'input', default: '发现一个精品网站,快来看一看', dependsOn: { key: 'pay_rebate_poster_s', value: true } },
{ key: 'pay_rebate_poster_desc', label: '推广海报简介(40-60个字)', type: 'input', default: '网站有超多精品资源和优惠福利,扫码进入网站还可享受诸多优惠哦', dependsOn: { key: 'pay_rebate_poster_s', value: true } },
],
},
{
key: 'discount',
title: '推广让利标签',
icon: 'fa fas fa-tags',
fields: [
{
key: 'discount_notice',
label: '',
type: 'content',
ui_only: true,
dependsOn: { key: 'pay_rebate_s', value: true },
content: '<p><b>推广让利标签配置详解:</b></p><ul style="margin:6px 0 0 18px;line-height:1.9"><li>可使用的变量:折扣 <code>%discount%</code>、推荐人姓名 <code>%referrer_name%</code></li><li>使用变量示例:<code>%referrer_name%推荐购买 下单再减%discount%元</code></li></ul>',
},
{ key: 'pay_rebate_text_discount', label: '推广让利标签', type: 'input', default: '推荐购买 下单再减%discount%', dependsOn: { key: 'pay_rebate_s', value: true }, help: '显示在购买模块,推广让利的标签文案' },
],
},
],
};
}
/** 返佣订单类型(与运行时 membership/content/credits 对齐)。 */
const rebateTypeOptions = [
{ label: '全部订单', value: 'all' },
{ label: '购买会员', value: 'membership' },
{ label: '付费内容', value: 'content' },
{ label: '购买积分', value: 'credits' },
]