feat: unify invite flow with referral ref
This commit is contained in:
@@ -9,7 +9,6 @@ export const affiliateSchema = {
|
||||
affiliate_ratio_vip_1: 5,
|
||||
affiliate_ratio_vip_2: 5,
|
||||
affiliate_order_types: ['membership', 'content'],
|
||||
affiliate_touch_window_days: 30,
|
||||
affiliate_settlement_days: 7,
|
||||
affiliate_promotion_text: '',
|
||||
},
|
||||
@@ -24,7 +23,6 @@ export const affiliateSchema = {
|
||||
{ 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_touch_window_days', label: '首次触达窗口(天)', type: 'number', default: 30, min: 1, max: 365, 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 } },
|
||||
],
|
||||
},
|
||||
|
||||
@@ -37,10 +37,13 @@ export const authSchema = {
|
||||
bind_reminder_expires: 24,
|
||||
mandatory_bind: 'close',
|
||||
email_set_captch: true,
|
||||
invit_code_s: false,
|
||||
invit_code_mode: 'open',
|
||||
invit_code_open_desc: '邀请码为选填,没有邀请码也可以注册',
|
||||
invit_code_must_desc: '请输入邀请码',
|
||||
referral_registration_enabled: true,
|
||||
referral_register_field: 'optional',
|
||||
referral_reject_invalid: true,
|
||||
referral_code_length: 12,
|
||||
referral_window_days: 30,
|
||||
referral_open_desc: '推广码为选填,没有推广码也可以注册',
|
||||
referral_required_desc: '请输入推广码',
|
||||
sign_page_background: [],
|
||||
sign_theme_mode: 'default',
|
||||
sign_show_header: true,
|
||||
@@ -115,14 +118,17 @@ export const authSchema = {
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'invite_inline',
|
||||
title: '邀请码注册',
|
||||
key: 'referral_inline',
|
||||
title: '推广码注册',
|
||||
icon: 'fas fa-ticket-alt',
|
||||
fields: [
|
||||
{ key: 'invit_code_s', label: '启用邀请码', type: 'switch', default: false, help: '与「邀请码」子页联动,此处开关控制注册表单是否显示邀请码字段' },
|
||||
{ key: 'invit_code_mode', label: '邀请模式', type: 'select', default: 'open', options: [{ label: '开放注册(邀请码选填)', value: 'open' }, { label: '必须邀请码', value: 'must' }], dependsOn: { key: 'invit_code_s', value: true } },
|
||||
{ key: 'invit_code_open_desc', label: '开放注册提示', type: 'input', default: '邀请码为选填,没有邀请码也可以注册', dependsOn: { key: 'invit_code_s', value: true } },
|
||||
{ key: 'invit_code_must_desc', label: '必填提示', type: 'input', default: '请输入邀请码', dependsOn: { key: 'invit_code_s', value: true } },
|
||||
{ key: 'referral_registration_enabled', label: '开放推广码注册', type: 'switch', default: true },
|
||||
{ key: 'referral_register_field', label: '注册页推广码字段', type: 'select', default: 'optional', options: [{ label: '隐藏', value: 'hidden' }, { label: '选填', value: 'optional' }, { label: '必填', value: 'required' }], dependsOn: { key: 'referral_registration_enabled', value: true } },
|
||||
{ key: 'referral_reject_invalid', label: '拒绝无效推广码', type: 'switch', default: true, dependsOn: { key: 'referral_registration_enabled', value: true } },
|
||||
{ key: 'referral_code_length', label: 'Ref 码长度', type: 'number', default: 12, min: 4, max: 12 },
|
||||
{ key: 'referral_window_days', label: '首次触达窗口(天)', type: 'number', default: 30, min: 1, max: 365 },
|
||||
{ key: 'referral_open_desc', label: '选填提示', type: 'input', default: '推广码为选填,没有推广码也可以注册', dependsOn: { key: 'referral_registration_enabled', value: true } },
|
||||
{ key: 'referral_required_desc', label: '必填提示', type: 'input', default: '请输入推广码', dependsOn: { key: 'referral_registration_enabled', value: true } },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -17,7 +17,6 @@ export const creditsSchema = {
|
||||
points_free_comment_new: 1,
|
||||
points_free_comment_like: 1,
|
||||
points_free_followed: 1,
|
||||
points_earn_invite: 10,
|
||||
points_spend_comment: 0,
|
||||
points_spend_download: 0,
|
||||
points_spend_view_hidden: 0,
|
||||
@@ -59,7 +58,6 @@ export const creditsSchema = {
|
||||
{ key: 'points_free_comment_new', label: '发表评论', type: 'number', default: 1, min: 0, max: 100 },
|
||||
{ key: 'points_free_comment_like', label: '评论被赞', type: 'number', default: 1, min: 0, max: 100 },
|
||||
{ key: 'points_free_followed', label: '被关注', type: 'number', default: 1, min: 0, max: 100 },
|
||||
{ key: 'points_earn_invite', label: '邀请注册奖励', type: 'number', default: 10, min: 0, max: 1000, help: '邀请不计入免费日上限' },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -6,7 +6,6 @@ import { authSchema } from './auth.js'
|
||||
import { oauthSchema } from './oauth.js'
|
||||
import { notificationsSchema } from './notifications.js'
|
||||
import { creditsSchema } from './credits.js'
|
||||
import { inviteSchema } from './invite.js'
|
||||
import { featuresSchema } from './features.js'
|
||||
import { signinSchema } from './signin.js'
|
||||
import { verifySchema } from './verify.js'
|
||||
@@ -21,7 +20,6 @@ export const usersSchemas = {
|
||||
oauth: oauthSchema,
|
||||
notifications: notificationsSchema,
|
||||
credits: creditsSchema,
|
||||
invite: inviteSchema,
|
||||
features: featuresSchema,
|
||||
signin: signinSchema,
|
||||
verify: verifySchema,
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
export const inviteSchema = {
|
||||
key: 'users.invite',
|
||||
title: '邀请码',
|
||||
icon: 'fas fa-ticket-alt',
|
||||
description: '邀请码生成、管理、奖励配置。',
|
||||
defaults: {
|
||||
invit_code_s: false,
|
||||
invit_code_open_desc: '邀请码为选填,没有邀请码也可以注册',
|
||||
invit_code_must_desc: '请输入邀请码',
|
||||
invit_code_mode: 'open',
|
||||
invit_code_length: 8,
|
||||
invit_code_prefix: '',
|
||||
invit_code_max_use: 1,
|
||||
invit_code_expiry: 0,
|
||||
invit_code_batch: 20,
|
||||
invit_reward_points: 0,
|
||||
invit_reward_level: 0,
|
||||
invit_reward_vip_days: 0,
|
||||
invit_invitee_reward: false,
|
||||
invit_code_show_count: true,
|
||||
invit_code_show_remain: true,
|
||||
},
|
||||
groups: [
|
||||
{
|
||||
key: 'basic',
|
||||
title: '邀请设置',
|
||||
icon: 'fas fa-cog',
|
||||
fields: [
|
||||
{ key: 'invit_code_s', label: '启用邀请码', type: 'switch', default: false },
|
||||
{ key: 'invit_code_open_desc', label: '开放注册提示', type: 'input', default: '邀请码为选填,没有邀请码也可以注册' },
|
||||
{ key: 'invit_code_must_desc', label: '必填提示', type: 'input', default: '请输入邀请码' },
|
||||
{ key: 'invit_code_mode', label: '邀请模式', type: 'select', default: 'open', options: [{ label: '开放注册(邀请码选填)', value: 'open' }, { label: '必须邀请码', value: 'must' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'format',
|
||||
title: '码面设置',
|
||||
icon: 'fas fa-barcode',
|
||||
fields: [
|
||||
{ key: 'invit_code_length', label: '邀请码长度', type: 'number', default: 8, min: 4, max: 32 },
|
||||
{ key: 'invit_code_prefix', label: '邀请码前缀', type: 'input', default: '' },
|
||||
{ key: 'invit_code_max_use', label: '单码最大使用次数', type: 'number', default: 1, min: 1, max: 9999 },
|
||||
{ key: 'invit_code_expiry', label: '有效期(天)', type: 'number', default: 0, min: 0, help: '0为永久有效' },
|
||||
{ key: 'invit_code_batch', label: '批量生成数量', type: 'number', default: 20, min: 1, max: 500 },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'reward',
|
||||
title: '邀请奖励',
|
||||
icon: 'fas fa-gift',
|
||||
fields: [
|
||||
{ key: 'invit_reward_points', label: '邀请奖励积分', type: 'number', default: 0, min: 0, max: 1000 },
|
||||
{ key: 'invit_reward_level', label: '邀请奖励等级', type: 'number', default: 0, min: 0, max: 10 },
|
||||
{ key: 'invit_reward_vip_days', label: '奖励VIP天数', type: 'number', default: 0, min: 0, max: 3650 },
|
||||
{ key: 'invit_invitee_reward', label: '被邀请人奖励', type: 'switch', default: false },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'display',
|
||||
title: '展示设置',
|
||||
icon: 'fas fa-eye',
|
||||
fields: [
|
||||
{ key: 'invit_code_show_count', label: '显示已使用次数', type: 'switch', default: true },
|
||||
{ key: 'invit_code_show_remain', label: '显示剩余次数', type: 'switch', default: true },
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
||||
Reference in New Issue
Block a user