导入 AKSRT 主题开发源码

This commit is contained in:
Claude Code committed 2026-07-03 22:50:34 +08:00
1 parent 9681dd3d48
commit 1268a55dd0
595 files changed
+127705

No files matched your search

@@ -0,0 +1,73 @@
export const affiliateSchema = {
key: 'payment.affiliate',
title: '推广返佣',
icon: 'fas fa-share-alt',
description: '配置返佣比例、归因窗口和结算说明。',
defaults: {
payment_affiliate_enabled: false,
payment_affiliate_ratio: 10,
payment_affiliate_window_days: 30,
payment_affiliate_require_paid_order: true,
payment_affiliate_self_s: true,
payment_affiliate_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: '',
payment_affiliate_note: '返佣链路复用邀请体系,订单归因和结算自动衔接当前策略字段。',
},
groups: [
{
key: 'policy',
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: 'user-ratio',
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: 'poster',
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: 'text',
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 } },
],
},
],
}
@@ -0,0 +1,59 @@
export const cardPassSchema = {
key: 'payment.card-pass',
title: '充值卡',
icon: 'fas fa-ticket-alt',
description: '配置充值卡类型、卡号规则、批量生成和兑换逻辑。',
defaults: {
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,
card_pass_vip_days: 30,
card_pass_credits: 0,
card_pass_redeem_page: '',
card_pass_success_msg: '兑换成功!',
card_pass_fail_msg: '卡号无效或已过期',
},
groups: [
{
key: 'basic',
title: '充值卡设置',
icon: 'fas fa-id-card',
fields: [
{ key: 'card_pass_enabled', label: '启用充值卡', type: 'switch', default: false },
{ key: 'card_pass_desc', label: '充值卡说明', type: 'textarea', default: '', dependsOn: { key: 'card_pass_enabled', value: true } },
{ key: 'card_pass_type', label: '充值卡类型', type: 'select', default: 'balance', options: [{ label: '余额卡', value: 'balance' }, { label: 'VIP卡', value: 'vip' }, { label: '积分卡', value: 'credits' }], dependsOn: { key: 'card_pass_enabled', value: true } },
{ 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: 'redeem',
title: '兑换设置',
icon: 'fas fa-exchange-alt',
fields: [
{ 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: 'number', default: 10, 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: 'display',
title: '展示设置',
icon: 'fas fa-desktop',
fields: [
{ 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 } },
],
},
],
}
@@ -0,0 +1,172 @@
export const gatewaySchema = {
key: 'payment.gateway',
title: '收款接口',
icon: 'fas fa-credit-card',
description: '配置支付网关凭据、回调校验口令与运行模式。填写凭据后对应网关即变为”可用”。',
defaults: {
payment_gateway_mode: 'manual_review',
payment_gateway_test_enabled: true,
payment_gateway_manual_review: true,
payment_gateway_callback_secret: '',
payment_gateway_help: '未接真实支付网关时,建议使用测试网关或人工确认模式完成联调。',
payment_wechat_enabled: false,
payment_alipay_enabled: false,
payment_paypal_enabled: false,
payment_balance_enabled: false,
payment_card_pass_enabled: false,
payment_xunhupay_enabled: false,
payment_xhpay_enabled: false,
payment_payjs_enabled: false,
payment_epay_enabled: false,
payment_vmq_enabled: false,
payment_codepay_enabled: false,
payment_stripe_enabled: false,
wechat_merchantid: '',
wechat_jsapi: '',
wechat_appsecret: '',
wechat_cert_path: '',
wechat_key_path: '',
alipay_appid: '',
alipay_privatekey: '',
alipay_publickey: '',
alipay_return_url: '',
alipay_notify_url: '',
paypal_client_id: '',
paypal_client_secret: '',
paypal_currency: 'USD',
paypal_sandbox: true,
xunhupay_appid: '',
xunhupay_appsecret: '',
xhpay_mchid: '',
xhpay_alipay_v2: '',
xhpay_wx_h5: '',
payjs_mchid: '',
payjs_key: '',
epay_apiurl: '',
epay_pid: '',
epay_key: '',
stripe_secret_key: '',
stripe_publishable_key: '',
stripe_webhook_secret: '',
stripe_currency: 'usd',
stripe_test_mode: true,
},
groups: [
{
key: 'adapter',
title: '网关适配器',
icon: 'fas fa-plug',
fields: [
{ key: 'payment_gateway_mode', label: '运行模式', type: 'radio', default: 'manual_review', options: [{ label: '人工确认', value: 'manual_review' }, { label: '测试网关', value: 'test_gateway' }, { label: '适配器就绪', value: 'adapter_ready' }] },
{ key: 'payment_gateway_test_enabled', label: '启用测试网关', type: 'switch', default: true },
{ key: 'payment_gateway_manual_review', label: '保留人工复核', type: 'switch', default: true },
{ key: 'payment_gateway_callback_secret', label: '回调校验口令', type: 'input', default: '', help: '真实网关接入时可直接复用该口令字段。' },
{ key: 'payment_gateway_help', label: '运维说明', type: 'textarea', default: '未接真实支付网关时,建议使用测试网关或人工确认模式完成联调。' },
],
},
{
key: 'gateways',
title: '支付网关',
icon: 'fas fa-toggle-on',
fields: [
{ key: 'payment_wechat_enabled', label: '微信支付', type: 'switch', default: false },
{ key: 'payment_alipay_enabled', label: '支付宝', type: 'switch', default: false },
{ key: 'payment_paypal_enabled', label: 'PayPal', type: 'switch', default: false },
{ key: 'payment_stripe_enabled', label: 'Stripe', type: 'switch', default: false },
{ key: 'payment_balance_enabled', label: '余额支付', type: 'switch', default: false },
{ key: 'payment_card_pass_enabled', label: '卡密充值', type: 'switch', default: false },
{ key: 'payment_xunhupay_enabled', label: '虎皮椒', type: 'switch', default: false },
{ key: 'payment_xhpay_enabled', label: '小火付', type: 'switch', default: false },
{ key: 'payment_payjs_enabled', label: 'PayJS', type: 'switch', default: false },
{ key: 'payment_epay_enabled', label: '易支付', type: 'switch', default: false },
{ key: 'payment_vmq_enabled', label: 'V免签', type: 'switch', default: false },
{ key: 'payment_codepay_enabled', label: 'Codepay', type: 'switch', default: false },
],
},
{
key: 'wechat',
title: '微信支付配置',
icon: 'fab fa-weixin',
fields: [
{ key: 'wechat_merchantid', label: '商户号', type: 'input', default: '' },
{ key: 'wechat_jsapi', label: 'JSAPI密钥', type: 'input', default: '' },
{ key: 'wechat_appsecret', label: 'AppSecret', type: 'input', default: '' },
{ key: 'wechat_cert_path', label: '证书路径', type: 'input', default: '', help: '退款等接口需要,绝对路径。' },
{ key: 'wechat_key_path', label: '密钥路径', type: 'input', default: '' },
],
},
{
key: 'alipay',
title: '支付宝配置',
icon: 'fab fa-alipay',
fields: [
{ key: 'alipay_appid', label: 'AppID', type: 'input', default: '' },
{ key: 'alipay_privatekey', label: '应用私钥', type: 'textarea', rows: 3, default: '' },
{ key: 'alipay_publickey', label: '支付宝公钥', type: 'textarea', rows: 3, default: '' },
{ key: 'alipay_return_url', label: '同步回调地址', type: 'input', default: '' },
{ key: 'alipay_notify_url', label: '异步回调地址', type: 'input', default: '' },
],
},
{
key: 'paypal',
title: 'PayPal 配置',
icon: 'fab fa-paypal',
fields: [
{ key: 'paypal_client_id', label: 'Client ID', type: 'input', default: '' },
{ key: 'paypal_client_secret', label: 'Client Secret', type: 'input', default: '' },
{ key: 'paypal_currency', label: '货币', type: 'input', default: 'USD' },
{ key: 'paypal_sandbox', label: '沙箱模式', type: 'switch', default: true },
],
},
{
key: 'xunhupay',
title: '虎皮椒配置',
icon: 'fas fa-pepper-hot',
fields: [
{ key: 'xunhupay_appid', label: 'AppID', type: 'input', default: '' },
{ key: 'xunhupay_appsecret', label: 'AppSecret', type: 'input', default: '' },
],
},
{
key: 'xhpay',
title: '小火付配置',
icon: 'fas fa-fire',
fields: [
{ key: 'xhpay_mchid', label: '商户号', type: 'input', default: '' },
{ key: 'xhpay_alipay_v2', label: '支付宝V2', type: 'input', default: '' },
{ key: 'xhpay_wx_h5', label: '微信H5', type: 'input', default: '' },
],
},
{
key: 'payjs',
title: 'PayJS 配置',
icon: 'fab fa-js',
fields: [
{ key: 'payjs_mchid', label: '商户号', type: 'input', default: '' },
{ key: 'payjs_key', label: '通信密钥', type: 'input', default: '' },
],
},
{
key: 'epay',
title: '易支付配置',
icon: 'fas fa-university',
fields: [
{ key: 'epay_apiurl', label: '接口地址', type: 'input', default: '' },
{ key: 'epay_pid', label: '商户ID', type: 'input', default: '' },
{ key: 'epay_key', label: '商户密钥', type: 'input', default: '' },
],
},
{
key: 'stripe',
title: 'Stripe 配置',
icon: 'fab fa-stripe',
fields: [
{ key: 'stripe_secret_key', label: 'Secret Key', type: 'input', default: '' },
{ key: 'stripe_publishable_key', label: 'Publishable Key', type: 'input', default: '' },
{ key: 'stripe_webhook_secret', label: 'Webhook Secret', type: 'input', default: '', help: 'Stripe Dashboard 配置 Webhook 后获得,用于验签。' },
{ key: 'stripe_currency', label: '货币', type: 'input', default: 'usd' },
{ key: 'stripe_test_mode', label: '测试模式', type: 'switch', default: true },
],
},
],
}
@@ -0,0 +1,25 @@
/**
* Payment & Paid domain schemas.
*/
import { paidSchema } from './paid.js'
import { rechargeSchema } from './recharge.js'
import { vipSchema } from './vip.js'
import { revenueSchema } from './revenue.js'
import { affiliateSchema } from './affiliate.js'
import { gatewaySchema } from './gateway.js'
import { orderSchema } from './order.js'
import { cardPassSchema } from './cardPass.js'
import { withdrawalSchema } from './withdrawal.js'
export const paymentSchemas = {
paid: paidSchema,
recharge: rechargeSchema,
vip: vipSchema,
revenue: revenueSchema,
affiliate: affiliateSchema,
gateway: gatewaySchema,
order: orderSchema,
cardPass: cardPassSchema,
withdrawal: withdrawalSchema,
}
@@ -0,0 +1,96 @@
export const orderSchema = {
key: 'payment.order',
title: '订单设置',
icon: 'fas fa-file-invoice',
description: '配置订单前缀、有效期、展示字段和状态文案。',
defaults: {
payment_order_prefix: 'AKSRT',
payment_order_expiry: 30,
payment_show_user: true,
payment_show_paycount: true,
payment_no_logged_in: true,
payment_cookie_day: 15,
payment_no_logged_remind: '',
payment_wait_float_s: true,
payment_order_max_minutes: 30,
payment_mark: '付费',
payment_box_position: 'content',
payment_free_logged_show: false,
payment_show_ip: false,
payment_show_device: false,
payment_show_order_no: true,
payment_show_create_time: true,
payment_show_pay_time: true,
payment_order_status_pending: '待支付',
payment_order_status_paid: '已支付',
payment_order_status_completed: '已完成',
payment_order_status_cancelled: '已取消',
payment_order_status_refunded: '已退款',
payment_order_status_refunding: '退款中',
payment_order_status_processing: '处理中',
payment_service: '',
payment_service_icon: '',
payment_service_value: '',
payment_service_qq: '',
payment_service_wechat: '',
},
groups: [
{
key: 'basic',
title: '订单基础',
icon: 'fas fa-cog',
fields: [
{ key: 'payment_order_prefix', label: '订单前缀', type: 'input', default: 'AKSRT' },
{ key: 'payment_order_expiry', label: '订单有效期(分钟)', type: 'number', default: 30, min: 5, max: 1440 },
{ key: 'payment_show_user', label: '显示用户信息', type: 'switch', default: true },
{ key: 'payment_show_paycount', label: '显示购买次数', type: 'switch', default: true },
{ key: 'payment_no_logged_in', label: '未登录提示', type: 'switch', default: true },
{ key: 'payment_cookie_day', label: 'Cookie有效期(天)', type: 'number', default: 15, min: 1, max: 31, help: '未登录购买 Cookie 有效时间,1-31 天' },
{ key: 'payment_no_logged_remind', label: '未登录提醒文案', type: 'textarea', default: '', help: '未登录用户查看付费内容时的提醒文案' },
{ key: 'payment_wait_float_s', label: '订单等待浮动', type: 'switch', default: true },
{ key: 'payment_order_max_minutes', label: '订单最大支付时间(分钟)', type: 'number', default: 30, min: 5, max: 1440 },
],
},
{
key: 'display',
title: '展示设置',
icon: 'fas fa-eye',
fields: [
{ key: 'payment_mark', label: '付费标记', type: 'input', default: '付费' },
{ key: 'payment_box_position', label: '付费框位置', type: 'radio', default: 'top', options: [{ label: '文章模块上', value: 'box_top' }, { label: '内容顶', value: 'top' }, { label: '内容底', value: 'bottom' }, { label: '模块下', value: 'box_bottom' }] },
{ key: 'payment_free_logged_show', label: '登录用户显示免费', type: 'switch', default: false },
{ key: 'payment_show_ip', label: '显示用户IP', type: 'switch', default: false },
{ key: 'payment_show_device', label: '显示设备信息', type: 'switch', default: false },
{ key: 'payment_show_order_no', label: '显示订单号', type: 'switch', default: true },
{ key: 'payment_show_create_time', label: '显示创建时间', type: 'switch', default: true },
{ key: 'payment_show_pay_time', label: '显示支付时间', type: 'switch', default: true },
],
},
{
key: 'status',
title: '状态设置',
icon: 'fas fa-tags',
fields: [
{ key: 'payment_order_status_pending', label: '待支付状态文案', type: 'input', default: '待支付' },
{ key: 'payment_order_status_paid', label: '已支付状态文案', type: 'input', default: '已支付' },
{ key: 'payment_order_status_completed', label: '已完成状态文案', type: 'input', default: '已完成' },
{ key: 'payment_order_status_cancelled', label: '已取消状态文案', type: 'input', default: '已取消' },
{ key: 'payment_order_status_refunded', label: '已退款状态文案', type: 'input', default: '已退款' },
{ key: 'payment_order_status_refunding', label: '退款中状态文案', type: 'input', default: '退款中' },
{ key: 'payment_order_status_processing', label: '处理中状态文案', type: 'input', default: '处理中' },
],
},
{
key: 'service',
title: '服务设置',
icon: 'fas fa-headset',
fields: [
{ key: 'payment_service', label: '客服设置', type: 'textarea', default: '' },
{ key: 'payment_service_icon', label: '客服图标', type: 'icon', default: '' },
{ key: 'payment_service_value', label: '客服内容', type: 'input', default: '' },
{ key: 'payment_service_qq', label: 'QQ客服', type: 'input', default: '' },
{ key: 'payment_service_wechat', label: '微信客服', type: 'media', default: '' },
],
},
],
}
@@ -0,0 +1,72 @@
export const paidSchema = {
key: 'payment.paid',
title: '下载/付费内容中心',
icon: 'fas fa-download',
description: '统一管理资源下载、付费内容、角色免扣和人工交付说明。',
defaults: {
payment_paid_post_types: 'post',
payment_vip_free_download: false,
payment_vip_exempt_roles: '',
payment_paid_catalog_note: '',
payment_manual_delivery_note: '付费或人工确认内容请在订单备注中记录交付方式。',
payment_paid_mark: '付费',
payment_currency_symbol: '¥',
payment_paid_show_user: true,
payment_paid_show_paycount: true,
payment_paid_box_position: 'top',
payment_download_enable: false,
payment_download_remote_s: true,
payment_download_verify_nonce: true,
payment_download_user_log: 50,
payment_download_post_log: 50,
payment_download_remote_size: 2048,
payment_download_remote_ext: 'zip,rar,7z',
},
groups: [
{
key: 'strategy',
title: '付费内容策略',
icon: 'fas fa-layer-group',
fields: [
{ key: 'payment_paid_post_types', label: '受管内容类型', type: 'input', default: 'post', help: '逗号分隔,例如 post,course,doc' },
{ key: 'payment_vip_free_download', label: '角色白名单免扣下载', type: 'switch', default: false },
{ key: 'payment_vip_exempt_roles', label: '免扣角色列表', type: 'input', default: '', help: '逗号分隔的 WordPress role slug,例如 administrator,editor,vip' },
],
},
{
key: 'delivery',
title: '交付说明',
icon: 'fas fa-receipt',
fields: [
{ key: 'payment_paid_catalog_note', label: '前台付费提示', type: 'textarea', default: '', help: '显示在资源/付费内容页的运营说明。' },
{ key: 'payment_manual_delivery_note', label: '人工交付备注', type: 'textarea', default: '付费或人工确认内容请在订单备注中记录交付方式。', help: '人工确认或离线交付流程的标准说明。' },
],
},
{
key: 'display',
title: '展示设置',
icon: 'fas fa-eye',
fields: [
{ key: 'payment_paid_mark', label: '付费标记', type: 'input', default: '付费' },
{ key: 'payment_currency_symbol', label: '货币符号', type: 'input', default: '¥', help: '商品价格前缀,如 ¥、$、¥' },
{ key: 'payment_paid_show_user', label: '显示购买用户', type: 'switch', default: true },
{ key: 'payment_paid_show_paycount', label: '显示购买次数', type: 'switch', default: true },
{ key: 'payment_paid_box_position', label: '付费框位置', type: 'radio', default: 'top', options: [{ label: '文章模块上', value: 'box_top' }, { label: '内容顶', value: 'top' }, { label: '内容底', value: 'bottom' }, { label: '模块下', value: 'box_bottom' }] },
],
},
{
key: 'download',
title: '下载设置',
icon: 'fas fa-cloud-download-alt',
fields: [
{ key: 'payment_download_enable', label: '启用下载功能', type: 'switch', default: false },
{ key: 'payment_download_remote_s', label: '远程文件下载', type: 'switch', default: true, dependsOn: { key: 'payment_download_enable', value: true } },
{ key: 'payment_download_verify_nonce', label: '下载鉴权', type: 'switch', default: true, dependsOn: { key: 'payment_download_enable', value: true } },
{ key: 'payment_download_user_log', label: '用户下载记录条数', type: 'number', default: 50, min: 0, max: 9999, help: '0 为不保存', dependsOn: { key: 'payment_download_enable', value: true } },
{ key: 'payment_download_post_log', label: '文章下载记录条数', type: 'number', default: 50, min: 0, max: 9999, help: '0 为不保存', dependsOn: { key: 'payment_download_enable', value: true } },
{ key: 'payment_download_remote_size', label: '远程文件大小限制(KB)', type: 'number', default: 2048, min: 1, max: 999999, dependsOn: { key: 'payment_download_remote_s', value: true } },
{ key: 'payment_download_remote_ext', label: '远程文件格式限制', type: 'input', default: 'zip,rar,7z', help: '逗号分隔扩展名', dependsOn: { key: 'payment_download_remote_s', value: true } },
],
},
],
}
@@ -0,0 +1,94 @@
export const rechargeSchema = {
key: 'payment.recharge',
title: '余额充值',
icon: 'fas fa-charging-station',
description: '配置测试充值、手动确认和充值套餐结构。',
defaults: {
payment_recharge_enabled: false,
payment_recharge_mode: 'manual_review',
payment_recharge_desc: '',
payment_recharge_auto_to_balance: true,
payment_recharge_packages: '30|30|入门包\n98|108|推荐包',
payment_recharge_help: '当前支持人工确认与测试联调;接入真实网关时复用同一组字段。',
payment_recharge_product: '',
payment_recharge_price: 0,
payment_recharge_tag: '元',
payment_recharge_tag_class: '',
payment_recharge_custom_s: true,
payment_recharge_custom_limit: 9999,
payment_balance_transfer_s: false,
payment_balance_transfer_service_charge: 0,
payment_balance_transfer_desc: '',
payment_recharge_pass_charge_s: false,
payment_recharge_pass_charge_desc: '',
payment_recharge_pass_charge_only_password: false,
payment_recharge_exchange_s: false,
payment_recharge_exchange_rate: 100,
payment_recharge_exchange_desc: '',
},
groups: [
{
key: 'basic',
title: '充值开关',
icon: 'fas fa-wallet',
fields: [
{ key: 'payment_recharge_enabled', label: '启用余额充值结构', type: 'switch', default: false },
{ key: 'payment_recharge_mode', label: '充值模式', type: 'radio', default: 'manual_review', options: [{ label: '人工确认', value: 'manual_review' }, { label: '测试网关', value: 'test_gateway' }], dependsOn: { key: 'payment_recharge_enabled', value: true } },
{ key: 'payment_recharge_desc', label: '充值说明', type: 'textarea', default: '', dependsOn: { key: 'payment_recharge_enabled', value: true } },
{ key: 'payment_recharge_auto_to_balance', label: '自动到账到余额', type: 'switch', default: true, dependsOn: { key: 'payment_recharge_enabled', value: true } },
],
},
{
key: 'packages',
title: '充值套餐',
icon: 'fas fa-box-open',
fields: [
{ key: 'payment_recharge_packages', label: '套餐列表', type: 'textarea', default: '30|30|入门包\n98|108|推荐包', help: '每行一个套餐:支付金额|到账金额|标题', dependsOn: { key: 'payment_recharge_enabled', value: true } },
{ key: 'payment_recharge_help', label: '帮助文案', type: 'textarea', default: '当前支持人工确认与测试联调;接入真实网关时复用同一组字段。', dependsOn: { key: 'payment_recharge_enabled', value: true } },
],
},
{
key: 'product',
title: '充值产品',
icon: 'fas fa-box',
fields: [
{ key: 'payment_recharge_product', label: '充值产品', type: 'input', default: '', dependsOn: { key: 'payment_recharge_enabled', value: true } },
{ key: 'payment_recharge_price', label: '充值价格', type: 'number', default: 0, min: 0, max: 99999, dependsOn: { key: 'payment_recharge_enabled', value: true } },
{ key: 'payment_recharge_tag', label: '价格标签', type: 'input', default: '元', dependsOn: { key: 'payment_recharge_enabled', value: true } },
{ key: 'payment_recharge_tag_class', label: '标签样式', type: 'input', default: '', dependsOn: { key: 'payment_recharge_enabled', value: true } },
{ key: 'payment_recharge_custom_s', label: '自定义金额', type: 'switch', default: true, dependsOn: { key: 'payment_recharge_enabled', value: true } },
{ key: 'payment_recharge_custom_limit', label: '自定义金额限制', type: 'number', default: 9999, min: 1, max: 99999, dependsOn: { key: 'payment_recharge_enabled', value: true } },
],
},
{
key: 'transfer',
title: '余额转账',
icon: 'fas fa-exchange-alt',
fields: [
{ key: 'payment_balance_transfer_s', label: '启用余额转账', type: 'switch', default: false },
{ key: 'payment_balance_transfer_service_charge', label: '转账手续费(%)', type: 'number', default: 0, min: 0, max: 50, dependsOn: { key: 'payment_balance_transfer_s', value: true } },
{ key: 'payment_balance_transfer_desc', label: '转账说明', type: 'textarea', default: '', dependsOn: { key: 'payment_balance_transfer_s', value: true } },
],
},
{
key: 'pass-charge',
title: '充值卡免扣',
icon: 'fas fa-ticket-alt',
fields: [
{ key: 'payment_recharge_pass_charge_s', label: '启用充值卡免扣', type: 'switch', default: false },
{ key: 'payment_recharge_pass_charge_desc', label: '免扣说明', type: 'textarea', default: '', dependsOn: { key: 'payment_recharge_pass_charge_s', value: true } },
{ key: 'payment_recharge_pass_charge_only_password', label: '仅密码免扣', type: 'switch', default: false, dependsOn: { key: 'payment_recharge_pass_charge_s', value: true } },
],
},
{
key: 'exchange',
title: '积分兑换',
icon: 'fas fa-coins',
fields: [
{ key: 'payment_recharge_exchange_s', label: '启用积分兑换', type: 'switch', default: false },
{ key: 'payment_recharge_exchange_rate', label: '兑换比例', type: 'number', default: 100, min: 1, max: 10000, help: 'N 积分 = 1 元', dependsOn: { key: 'payment_recharge_exchange_s', value: true } },
{ key: 'payment_recharge_exchange_desc', label: '兑换说明', type: 'textarea', default: '', dependsOn: { key: 'payment_recharge_exchange_s', value: true } },
],
},
],
}
@@ -0,0 +1,44 @@
export const revenueSchema = {
key: 'payment.revenue',
title: '创作分成',
icon: 'fas fa-chart-line',
description: '配置作者分成比例、结算门槛和结算周期。',
defaults: {
payment_revenue_enabled: false,
payment_revenue_share_ratio: 70,
payment_revenue_ratio_vip1: 0,
payment_revenue_ratio_vip2: 0,
payment_revenue_settlement_threshold: 100,
payment_revenue_cycle_days: 30,
payment_revenue_points_rule: '',
payment_revenue_note: '分成策略和台账结构已就绪,订单入账后自动按比例结算。',
payment_revenue_desc_details: '',
payment_revenue_desc_page: '',
},
groups: [
{
key: 'policy',
title: '分成策略',
icon: 'fas fa-percentage',
fields: [
{ key: 'payment_revenue_enabled', label: '启用创作分成结构', type: 'switch', default: false },
{ key: 'payment_revenue_share_ratio', label: '作者分成比例(%)', type: 'number', default: 70, min: 0, max: 100, dependsOn: { key: 'payment_revenue_enabled', value: true } },
{ key: 'payment_revenue_ratio_vip1', label: 'VIP1分成比例(%)', type: 'number', default: 0, min: 0, max: 100, dependsOn: { key: 'payment_revenue_enabled', value: true } },
{ key: 'payment_revenue_ratio_vip2', label: 'VIP2分成比例(%)', type: 'number', default: 0, min: 0, max: 100, dependsOn: { key: 'payment_revenue_enabled', value: true } },
{ key: 'payment_revenue_settlement_threshold', label: '最小结算金额', type: 'number', default: 100, min: 0, max: 100000, dependsOn: { key: 'payment_revenue_enabled', value: true } },
{ key: 'payment_revenue_cycle_days', label: '结算周期(天)', type: 'number', default: 30, min: 1, max: 365, dependsOn: { key: 'payment_revenue_enabled', value: true } },
{ key: 'payment_revenue_points_rule', label: '积分规则', type: 'textarea', default: '', dependsOn: { key: 'payment_revenue_enabled', value: true } },
{ key: 'payment_revenue_note', label: '结算备注', type: 'textarea', default: '分成策略和台账结构已就绪,订单入账后自动按比例结算。', dependsOn: { key: 'payment_revenue_enabled', value: true } },
],
},
{
key: 'display',
title: '展示设置',
icon: 'fas fa-file-alt',
fields: [
{ key: 'payment_revenue_desc_details', label: '收益明细文案', type: 'textarea', default: '', dependsOn: { key: 'payment_revenue_enabled', value: true } },
{ key: 'payment_revenue_desc_page', label: '收益说明页', type: 'input', default: '', dependsOn: { key: 'payment_revenue_enabled', value: true } },
],
},
],
}
@@ -0,0 +1,102 @@
export const vipSchema = {
key: 'payment.vip',
title: 'VIP会员',
icon: 'fas fa-crown',
description: '配置会员名称、套餐和付费权益说明。',
defaults: {
payment_vip_enabled: false,
payment_vip_name: 'VIP会员',
payment_vip_badge_text: 'VIP',
payment_vip_desc: '',
payment_vip_packages: '30|30|月卡\n365|365|年卡',
payment_vip_help: '会员权益以免扣下载和身份展示为主,开通后立即生效。',
payment_vip_download_limit: 0,
payment_vip_download_speed: 0,
payment_vip_discount: 100,
payment_vip_pass_charge: false,
payment_vip_pass_charge_desc: '',
payment_vip_renew: true,
payment_vip_renew_desc: '',
payment_vip_renew_price_type: 'same',
payment_vip_renew_discount: 100,
payment_vip_renew_reduce: 0,
payment_vip_upgrade: true,
payment_vip_upgrade_desc: '',
payment_vip_upgrade_product: '',
payment_vip_month_price: 0,
payment_vip_year_price: 0,
payment_vip_permanent_price: 0,
payment_vip_unit_price: 0,
payment_vip_unit_tag: '元',
payment_vip_jump_price: 0,
},
groups: [
{
key: 'basic',
title: '会员基础',
icon: 'fas fa-user-shield',
fields: [
{ key: 'payment_vip_enabled', label: '启用会员结构', type: 'switch', default: false },
{ key: 'payment_vip_name', label: '会员名称', type: 'input', default: 'VIP会员', dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_badge_text', label: '会员徽标文案', type: 'input', default: 'VIP', dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_desc', label: '会员说明', type: 'textarea', default: '', dependsOn: { key: 'payment_vip_enabled', value: true } },
],
},
{
key: 'packages',
title: '会员套餐',
icon: 'fas fa-gem',
fields: [
{ key: 'payment_vip_packages', label: '套餐列表', type: 'textarea', default: '30|30|月卡\n365|365|年卡', help: '每行一个套餐:价格|时长(天)|标题', dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_help', label: '权益说明', type: 'textarea', default: '会员权益以免扣下载和身份展示为主,开通后立即生效。', dependsOn: { key: 'payment_vip_enabled', value: true } },
],
},
{
key: 'benefit',
title: '会员权益',
icon: 'fas fa-gift',
fields: [
{ key: 'payment_vip_download_limit', label: '下载限制', type: 'number', default: 0, min: 0, max: 9999, help: '0为不限制', dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_download_speed', label: '下载速度(KB/s)', type: 'number', default: 0, min: 0, max: 99999, help: '0为不限制', dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_discount', label: '折扣(%)', type: 'number', default: 100, min: 1, max: 100, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_pass_charge', label: '积分充值免扣', type: 'switch', default: false, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_pass_charge_desc', label: '积分充值说明', type: 'textarea', default: '', dependsOn: { key: 'payment_vip_enabled', value: true } },
],
},
{
key: 'renew',
title: '续费设置',
icon: 'fas fa-sync-alt',
fields: [
{ key: 'payment_vip_renew', label: '允许续费', type: 'switch', default: true, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_renew_desc', label: '续费说明', type: 'textarea', default: '', dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_renew_price_type', label: '续费价格类型', type: 'radio', default: 'same', options: [{ label: '相同价格', value: 'same' }, { label: '折扣价格', value: 'discount' }], dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_renew_discount', label: '续费折扣(%)', type: 'number', default: 100, min: 1, max: 100, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_renew_reduce', label: '续费减免金额', type: 'number', default: 0, min: 0, max: 9999, dependsOn: { key: 'payment_vip_enabled', value: true } },
],
},
{
key: 'upgrade',
title: '升级设置',
icon: 'fas fa-arrow-up',
fields: [
{ key: 'payment_vip_upgrade', label: '允许升级', type: 'switch', default: true, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_upgrade_desc', label: '升级说明', type: 'textarea', default: '', dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_upgrade_product', label: '升级产品', type: 'input', default: '', dependsOn: { key: 'payment_vip_enabled', value: true } },
],
},
{
key: 'price',
title: '价格设置',
icon: 'fas fa-yen-sign',
fields: [
{ key: 'payment_vip_month_price', label: '月卡价格', type: 'number', default: 0, min: 0, max: 99999, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_year_price', label: '年卡价格', type: 'number', default: 0, min: 0, max: 99999, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_permanent_price', label: '永久价格', type: 'number', default: 0, min: 0, max: 99999, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_unit_price', label: '单位价格', type: 'number', default: 0, min: 0, max: 99999, dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_unit_tag', label: '单位标签', type: 'input', default: '元', dependsOn: { key: 'payment_vip_enabled', value: true } },
{ key: 'payment_vip_jump_price', label: '跳转价格', type: 'number', default: 0, min: 0, max: 99999, dependsOn: { key: 'payment_vip_enabled', value: true } },
],
},
],
}
@@ -0,0 +1,23 @@
export const withdrawalSchema = {
key: 'payment.withdrawal',
title: '提现管理',
icon: 'fas fa-hand-holding-usd',
description: '配置提现门槛、手续费比例和提现说明。',
defaults: {
pay_rebate_withdraw_lowest_money: 50,
withdraw_service_charge: 0,
pay_rebate_withdraw_text_details: '',
},
groups: [
{
key: 'basic',
title: '提现设置',
icon: 'fas fa-sliders-h',
fields: [
{ key: 'pay_rebate_withdraw_lowest_money', label: '最低提现金额', type: 'number', default: 50, min: 1, max: 99999 },
{ key: 'withdraw_service_charge', label: '提现手续费(%)', type: 'number', default: 0, min: 0, max: 50 },
{ key: 'pay_rebate_withdraw_text_details', label: '提现说明', type: 'textarea', default: '' },
],
},
],
}