2.8 KiB
2.8 KiB
“我的”Tab 填邀请码 PRD
更新时间:2026-04-16
2026-04-30 更新:用户侧邀请码填写入口已迁到注册环节,当前落地以
docs/technical/PROFILE_INVITE_CODE_REGISTRATION_AND_ADMIN_2026-04-30.md为准;“我的 Tab”不再保留填邀请码入口。
0. 目标
把“填邀请码”做成用户激活早期的一次性绑定动作,完成:
- 输入邀请码
- 校验邀请码是否可用
- 绑定邀请关系
- 发放被邀请奖励
1. 当前现状与问题
当前页面有“填邀请码”按钮,但没有成型规则。最容易踩坑的点是:
- 什么时候还能填
- 一个账号能不能改绑
- 邀请人与被邀请人奖励何时发
如果不先写清楚,后续很容易出现刷奖励和投诉问题。
2. 本期范围
2.1 本期要做
- 邀请码填写弹窗
- 邀请关系校验
- 一次性绑定规则
- 绑定成功后的奖励发放
2.2 本期不做
- 改绑邀请人
- 申诉人工修正流程
- 活动邀请码多类型扩展
3. 业务规则
3.1 填写时机
邀请码只允许在下面时间窗内填写:
- 新账号注册后
- 且尚未绑定过任何邀请码
- 且未超过首个有效周期,例如
7天
3.2 不允许情况
以下情况不可填写:
- 已绑定过邀请码
- 用自己的邀请码填写
- 已超过填写时效
- 邀请码失效或不存在
3.3 绑定结果
绑定成功后:
- 写入邀请关系
- 发放被邀请用户奖励
- 更新邀请人待结算或已结算状态
邀请码绑定后不可撤销、不可修改。
4. 详细设计
4.1 页面结构
弹窗内容仅保留:
- 输入框
- 提交按钮
- 当前可否填写状态
不默认写长篇规则说明。
必要提示采用短句:
- 已绑定,无法修改
- 该邀请码不可用
- 绑定成功
4.2 交互
- 输入邀请码
- 点击确认绑定
- 服务端校验
- 返回成功或失败状态
成功后:
- 按钮置灰
- 展示绑定的邀请人昵称或摘要
5. 后端设计
5.1 数据模型
复用:
user_invite_codesuser_referral_relationsuser_reward_ledger
并为被邀请方增加:
invited_by_user_idinvite_bound_at
5.2 接口
GET /api/referrals/redeem-status
返回:
- 是否还能填写
- 已绑定邀请人摘要
- 填写截止时间
POST /api/referrals/redeem-code
入参:
inviteCode
出参:
okinviterSummaryrewardSummary
6. 前端实现要求
- 已绑定状态下直接展示结果,不再显示输入表单
- 提交中不能重复点击
- 服务端失败原因要原样映射成短提示
7. 验收标准
- 符合条件的新账号可以成功绑定邀请码
- 同一账号不能重复绑定
- 不能填写自己的邀请码
- 奖励发放结果可追踪