feat(payment): align VIP/balance/order schema keys with Zibll

Extract payment readers into AKSRT_Settings_Payment_Runtime and store
canonical Zibll option IDs (pay_user_vip_*, pay_balance_*, pay_box_position,
pay_mark, pay_rebate_*, pay_income_*) in aksrt_settings with no legacy
payment_* dual-read. Update PHP/JS payment schemas and VIP sidebar gate.
This commit is contained in:
kate522 committed 2026-07-11 17:13:29 +08:00
1 parent 80d2c5fbc3
commit d9fbacbce6
12 files changed
+703 -554

No files matched your search

@@ -4,23 +4,23 @@ export const affiliateSchema = {
icon: 'fas fa-share-alt',
description: '配置返佣比例、归因窗口和结算说明。',
defaults: {
payment_affiliate_enabled: false,
payment_affiliate_ratio: 10,
pay_rebate_s: false,
pay_rebate_ratio: 10,
payment_affiliate_window_days: 30,
payment_affiliate_require_paid_order: true,
payment_affiliate_self_s: true,
payment_affiliate_show_users: true,
pay_rebate_self_s: true,
pay_rebate_show_users: true,
payment_affiliate_user_ratio: 10,
payment_affiliate_vip1_ratio: 0,
payment_affiliate_vip2_ratio: 0,
payment_affiliate_poster_s: true,
payment_affiliate_poster_img: '',
payment_affiliate_poster_title: '',
payment_affiliate_poster_desc: '',
payment_affiliate_text_desc: '',
payment_affiliate_text_details_title: '',
payment_affiliate_text_details: '',
payment_affiliate_text_discount: '',
pay_rebate_ratio_vip_1: 0,
pay_rebate_ratio_vip_2: 0,
pay_rebate_poster_s: true,
pay_rebate_poster_img: '',
pay_rebate_poster_title: '',
pay_rebate_poster_desc: '',
pay_rebate_text_desc: '',
pay_rebate_text_details_title: '',
pay_rebate_text_details: '',
pay_rebate_text_discount: '',
payment_affiliate_note: '返佣链路复用邀请体系,订单归因和结算自动衔接当前策略字段。',
},
groups: [
@@ -29,12 +29,12 @@ export const affiliateSchema = {
title: '返佣策略',
icon: 'fas fa-project-diagram',
fields: [
{ key: 'payment_affiliate_enabled', label: '启用推广返佣结构', type: 'switch', default: false },
{ key: 'payment_affiliate_ratio', label: '返佣比例(%)', type: 'number', default: 10, min: 0, max: 100, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_window_days', label: '归因窗口(天)', type: 'number', default: 30, min: 1, max: 365, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_require_paid_order', label: '仅对已支付订单返佣', type: 'switch', default: true, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_self_s', label: '自购返佣', type: 'switch', default: true, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_show_users', label: '显示推广用户', type: 'switch', default: true, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'pay_rebate_s', label: '启用推广返佣结构', type: 'switch', default: false },
{ key: 'pay_rebate_ratio', label: '返佣比例(%)', type: 'number', default: 10, min: 0, max: 100, dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'payment_affiliate_window_days', label: '归因窗口(天)', type: 'number', default: 30, min: 1, max: 365, dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'payment_affiliate_require_paid_order', label: '仅对已支付订单返佣', type: 'switch', default: true, dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_self_s', label: '自购返佣', type: 'switch', default: true, dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_show_users', label: '显示推广用户', type: 'switch', default: true, dependsOn: { key: 'pay_rebate_s', value: true } },
],
},
{
@@ -42,9 +42,9 @@ export const affiliateSchema = {
title: '用户返佣比例',
icon: 'fas fa-users-cog',
fields: [
{ key: 'payment_affiliate_user_ratio', label: '普通用户比例(%)', type: 'number', default: 10, min: 0, max: 100, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_vip1_ratio', label: 'VIP1比例(%)', type: 'number', default: 0, min: 0, max: 100, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_vip2_ratio', label: 'VIP2比例(%)', type: 'number', default: 0, min: 0, max: 100, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_user_ratio', label: '普通用户比例(%)', type: 'number', default: 10, min: 0, max: 100, dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_ratio_vip_1', label: 'VIP1比例(%)', type: 'number', default: 0, min: 0, max: 100, dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_ratio_vip_2', label: 'VIP2比例(%)', type: 'number', default: 0, min: 0, max: 100, dependsOn: { key: 'pay_rebate_s', value: true } },
],
},
{
@@ -52,10 +52,10 @@ export const affiliateSchema = {
title: '推广海报',
icon: 'fas fa-image',
fields: [
{ key: 'payment_affiliate_poster_s', label: '启用推广海报', type: 'switch', default: true, dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_poster_img', label: '海报背景图', type: 'media', default: '', dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_poster_title', label: '海报标题', type: 'input', default: '', dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_poster_desc', label: '海报描述', type: 'input', default: '', dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'pay_rebate_poster_s', label: '启用推广海报', type: 'switch', default: true, dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_poster_img', label: '海报背景图', type: 'media', default: '', dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_poster_title', label: '海报标题', type: 'input', default: '', dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_poster_desc', label: '海报描述', type: 'input', default: '', dependsOn: { key: 'pay_rebate_s', value: true } },
],
},
{
@@ -63,10 +63,10 @@ export const affiliateSchema = {
title: '文案设置',
icon: 'fas fa-pen-fancy',
fields: [
{ key: 'payment_affiliate_text_desc', label: '返佣说明', type: 'textarea', default: '', dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_text_details_title', label: '明细标题', type: 'input', default: '', dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_text_details', label: '明细说明', type: 'textarea', default: '', dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'payment_affiliate_text_discount', label: '折扣文案', type: 'input', default: '', dependsOn: { key: 'payment_affiliate_enabled', value: true } },
{ key: 'pay_rebate_text_desc', label: '返佣说明', type: 'textarea', 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', default: '', dependsOn: { key: 'pay_rebate_s', value: true } },
{ key: 'pay_rebate_text_discount', label: '折扣文案', type: 'input', default: '', dependsOn: { key: 'pay_rebate_s', value: true } },
],
},
],