diff --git a/client/lib/l10n/app_text.dart b/client/lib/l10n/app_text.dart index e90bbe2..59dbbb0 100644 --- a/client/lib/l10n/app_text.dart +++ b/client/lib/l10n/app_text.dart @@ -600,7 +600,7 @@ abstract class AppText { String get inviteCopyLink; // 复制链接 / Copy link String get inviteRewardsTitle; // 奖励规则 / Rewards String get inviteRewardRegister; // 好友注册 · 双方各得 3 天 / Sign up · +3 days each - String get inviteRewardFirstBuy; // 好友首购 · 双方各得 15 天 / First purchase · +15 days each + String get inviteRewardFirstBuy; // 好友首购 · 双方各得 7 天 / First purchase · +7 days each String get inviteRewardJoinTg; // 加入 TG 频道 · 得 3 天 / Join TG · +3 days String get inviteProgressTitle; // 我的奖励 / My rewards String get inviteTasksTitle; // 更多得会员 / More ways to earn diff --git a/docs/invite-task-rewards-design.html b/docs/invite-task-rewards-design.html index 337dc13..4efa02a 100644 --- a/docs/invite-task-rewards-design.html +++ b/docs/invite-task-rewards-design.html @@ -125,7 +125,7 @@ pay webhook.settle()首充钩子:在 GrantPaidSubscriptionTx 之后,若 users.first_paid_at 本次由空转非空(=首充)且该用户是被邀请人(referrals 命中)→ 发首充段双方 +7(paid_rewarded,幂等)。 GET /v1/invite我的邀请码 / 链接 + 战绩:已邀请数、已转化(首充)数、累计获赠天数、明细列表;附奖励任务清单(TG 完成态)。 GET /v1/tasks/telegram/start签发绑定 token(10 分钟有效、绑当前账户),返回 bot 深链 t.me/<reward_bot>?start=<token>。 -POST /tg/webhookTelegram Bot 更新回调(secret 校验,与 pay webhook 同款外部回调):收 /start <token> → 校验成员 → 发 TG 任务 +3。详见 §5。 +POST /v1/tg/webhookTelegram Bot 更新回调(secret 校验,与 pay webhook 同款外部回调):收 /start <token> → 校验成员 → 发 TG 任务 +3。详见 §5。

5 · TG 任务验证流程(Bot getChatMember)

@@ -158,7 +158,7 @@ ③ 拉起 bot,用户按 Start(/start token) - ④ POST /tg/webhook(update:token + telegram_id) + ④ POST /v1/tg/webhook(update:token + telegram_id) ⑤ getChatMember(频道, telegram_id) @@ -186,7 +186,7 @@ @@ -232,7 +232,7 @@ server/internal/auth/service.go # Register 加 inviteCode + 建 referrals + 注册段发奖 server/internal/reward/ # 新包:邀请/任务发奖 + 防刷闸 + getChatMember server/internal/pay/webhook.go # settle() 首充钩子接首充段发奖 -server/internal/httpapi/ # GET /v1/invite、/v1/tasks/telegram/start、POST /tg/webhook +server/internal/httpapi/ # GET /v1/invite、/v1/tasks/telegram/start、POST /v1/tg/webhook server/migrations/{mysql,sqlite}/ # users +2 列、referrals、reward_claims # 客户端 client/lib/screens/invite_page.dart # 占位 → 真实(邀请区 + 任务区)