From b501cf46115479ca75d7d3a629bb934363f8a277 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 17 Aug 2026 13:49:59 +0800 Subject: [PATCH] feat: unify invite flow with referral ref --- assets/admin/src/constants/sections/users.js | 2 +- assets/admin/src/pages/CmsCredits.vue | 30 +- .../admin/src/pages/payment/PaymentRebate.vue | 1 - assets/admin/src/pages/tools/ToolsUpdate.vue | 2 +- .../src/pages/users/UsersInviteCodes.vue | 512 ------------- assets/admin/src/pages/users/UsersSignin.vue | 123 ++-- assets/admin/src/router/index.js | 2 +- .../src/schema/sections/payment/affiliate.js | 2 - .../admin/src/schema/sections/users/auth.js | 26 +- .../src/schema/sections/users/credits.js | 2 - .../admin/src/schema/sections/users/index.js | 2 - .../admin/src/schema/sections/users/invite.js | 68 -- assets/js/modal-auth.js | 2 + assets/js/sign-register.js | 7 +- functions.php | 2 +- inc/helpers/aksrt-credits.php | 4 +- .../user-center-renderers/profile-level.php | 8 +- .../user-center-renderers/profile-revenue.php | 18 +- src/Admin/ImportExportController.php | 1 - src/Admin/Native/UsersMenus.php | 229 +----- src/Admin/Native/UsersMenusReferral.php | 144 ++++ src/Admin/PaymentController.php | 4 +- src/Admin/Schema/SchemaPayment.php | 1 - src/Admin/Schema/SchemaUsers.php | 53 +- src/Admin/ToolsController.php | 2 - src/Admin/UserController.php | 70 +- .../UserControllerAuthPhoneOperations.php | 6 +- src/Admin/UserControllerInviteOperations.php | 450 ------------ src/Auth/EmailVerification.php | 4 +- src/Auth/Service.php | 29 - src/Auth/ServicePart1a.php | 80 +- src/Auth/ServicePart1b.php | 44 +- src/Core/DBMigrator.php | 2 +- src/Core/DBMigratorPart2.php | 28 +- src/Core/DBMigratorPart3.php | 1 - src/Credits/Credits.php | 4 +- src/Credits/Invite.php | 683 ------------------ src/Payment/Rebate.php | 3 +- src/Payment/ReferralAttribution.php | 613 ++++++++++++++-- src/Settings/CreditsPaymentGroups.php | 83 +-- src/Settings/CreditsRuntime.php | 198 ++--- src/Settings/PaymentRuntime.php | 2 +- src/User/Center.php | 2 +- src/User/CreditsAdmin.php | 4 +- src/User/Level.php | 2 +- templates/pages/page-sign.php | 36 +- templates/parts/modal-auth.php | 40 +- 47 files changed, 1083 insertions(+), 2548 deletions(-) delete mode 100644 assets/admin/src/pages/users/UsersInviteCodes.vue delete mode 100644 assets/admin/src/schema/sections/users/invite.js create mode 100644 src/Admin/Native/UsersMenusReferral.php delete mode 100644 src/Admin/UserControllerInviteOperations.php delete mode 100644 src/Credits/Invite.php diff --git a/assets/admin/src/constants/sections/users.js b/assets/admin/src/constants/sections/users.js index 638d4ee8..3422ae85 100644 --- a/assets/admin/src/constants/sections/users.js +++ b/assets/admin/src/constants/sections/users.js @@ -2,7 +2,7 @@ import { renderFaIcon, schemaPage, customPage } from './helpers' /** * Users SPA keeps config-shaped pages. - * Message / invite / ban / report queues live under users.php native menus. + * Message / referral-code / ban / report queues live under users.php native menus. */ export const usersSection = { key: 'users', diff --git a/assets/admin/src/pages/CmsCredits.vue b/assets/admin/src/pages/CmsCredits.vue index 8ec21397..f77b92e0 100644 --- a/assets/admin/src/pages/CmsCredits.vue +++ b/assets/admin/src/pages/CmsCredits.vue @@ -68,22 +68,25 @@ -

邀请奖励

- +

Ref 推广奖励

+ - + - - + + - - + + + + + - + - +
@@ -120,14 +123,13 @@ const cfg = reactive({ register_bonus: 10, daily_signin: { enabled: true, base: 1, streak: { 3: 2, 7: 5, 30: 20 } }, comment_reward: { enabled: true, amount: 1, daily_cap: 5, min_length: 10, on_approved: true }, - invite_reward: { + referral_reward: { enabled: true, - inviter_amount: 5, - invitee_amount: 2, + promoter_amount: 5, + referred_amount: 2, + level_points: 0, require_verify: true, ip_daily_cap: 3, - register_field: 'optional', - reject_invalid: true, }, download_default_cost: 0, }) diff --git a/assets/admin/src/pages/payment/PaymentRebate.vue b/assets/admin/src/pages/payment/PaymentRebate.vue index 63703886..abbd969c 100644 --- a/assets/admin/src/pages/payment/PaymentRebate.vue +++ b/assets/admin/src/pages/payment/PaymentRebate.vue @@ -121,7 +121,6 @@ const typeOptions = computed(() => optionsState.types.length : [ { label: '全部类型', value: '' }, { label: '订单返佣', value: 'order' }, - { label: '邀请返佣', value: 'invite' }, ]) const columnChoices = [ diff --git a/assets/admin/src/pages/tools/ToolsUpdate.vue b/assets/admin/src/pages/tools/ToolsUpdate.vue index 78a7629b..c382117b 100644 --- a/assets/admin/src/pages/tools/ToolsUpdate.vue +++ b/assets/admin/src/pages/tools/ToolsUpdate.vue @@ -92,7 +92,7 @@ const guides = [ { key: 'cdn', title: '静态资源与 CDN', desc: '核对前端资源地址与缓存策略', url: '#/global/common' }, { key: 'ip-geo', title: 'IP 归属地', desc: '验证 IP 查询服务与密钥配置', url: '#/extensions/ip' }, { key: 'payment', title: '支付与会员', desc: '核对网关、会员与充值配置', url: '#/payment/gateway' }, - { key: 'credits', title: '积分与签到', desc: '检查积分规则、签到与邀请奖励', url: '#/users/signin' }, + { key: 'credits', title: '积分与签到', desc: '检查积分规则、签到与推广奖励', url: '#/users/signin' }, { key: 'badge', title: '等级与徽章', desc: '维护等级、认证与徽章体系', url: '#/users/badge' }, ] diff --git a/assets/admin/src/pages/users/UsersInviteCodes.vue b/assets/admin/src/pages/users/UsersInviteCodes.vue deleted file mode 100644 index e176c4ff..00000000 --- a/assets/admin/src/pages/users/UsersInviteCodes.vue +++ /dev/null @@ -1,512 +0,0 @@ - - - - - diff --git a/assets/admin/src/pages/users/UsersSignin.vue b/assets/admin/src/pages/users/UsersSignin.vue index 81c5cae9..3b0f7837 100644 --- a/assets/admin/src/pages/users/UsersSignin.vue +++ b/assets/admin/src/pages/users/UsersSignin.vue @@ -1,7 +1,7 @@