- 归因模式可配置(first_touch/last_touch)、停佣开关、懒结算与佣金基数降级复查 - aksrt_get_client_ip 接入 aksrt_trusted_proxies 信任代理名单,防 CDN 头伪造 - 收益页 Canvas 二维码 + 750x1000 推广海报(本地打包 qrcode.min.js,无 CDN) - 契约测试固化归因/海报/信任代理链路
198 lines
10 KiB
JavaScript
198 lines
10 KiB
JavaScript
/** 返佣订单类型(与运行时 membership/content/credits 对齐)。 */
|
|
const rebateTypeOptions = [
|
|
{ label: '全部订单', value: 'all' },
|
|
{ label: '购买会员', value: 'membership' },
|
|
{ label: '付费内容', value: 'content' },
|
|
{ label: '购买积分', value: 'credits' },
|
|
]
|
|
|
|
/**
|
|
* 推广返佣 — 参考主题结构:开关、识别模式、自己推广自己、按用户类型分档的
|
|
* 返佣规则(tab)、文案、推广海报与推广让利标签。
|
|
*/
|
|
export const affiliateSchema = {
|
|
key: 'payment.affiliate',
|
|
title: '推广返佣',
|
|
icon: 'fa fas fa-btc',
|
|
description: '推广识别模式、分档返佣规则、返佣文案、推广海报与让利标签。',
|
|
defaults: {
|
|
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_disabled_code_stops_commission: false,
|
|
referral_attribution_model: 'first_touch',
|
|
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: 'notice',
|
|
title: '说明',
|
|
icon: 'fa fas fa-info-circle',
|
|
fields: [
|
|
{
|
|
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: 'referral_attribution_model',
|
|
label: '推广归因模式',
|
|
type: 'radio',
|
|
default: 'first_touch',
|
|
options: [
|
|
{ label: '首次触点(首触优先)', value: 'first_touch' },
|
|
{ label: '最近触点(末触覆盖)', value: 'last_touch' },
|
|
],
|
|
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: 'affiliate_disabled_code_stops_commission', label: '推广码禁用后停止返佣', type: 'switch', default: false, dependsOn: { key: 'pay_rebate_s', value: true }, help: '开启后,推广者的推广码被禁用(或缺失)时,其名下已绑定用户的新订单不再产生佣金;关闭则绑定关系继续生效' },
|
|
],
|
|
},
|
|
{
|
|
key: 'text',
|
|
title: '返佣文案',
|
|
icon: 'fa fas fa-file-alt',
|
|
fields: [
|
|
{ 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: '显示在购买模块,推广让利的标签文案' },
|
|
],
|
|
},
|
|
],
|
|
}
|