1.7 KiB
1.7 KiB
邀请好友功能修复方案
问题分析
邀请好友页面(/wallet/invite)当前显示邀请码和链接,但当用户通过邀请链接注册时,系统未调用 tasks.track API 记录邀请行为,导致邀请任务无法完成和领取奖励。
当前状态
| 项目 | 状态 |
|---|---|
| 邀请页面 | src/pages/Wallet/Invite.tsx |
| 邀请 API | api_request.invite.getCode() / getStats() / getRecords() |
| 任务追踪 API | api_request.tasks.track({ action_type, count }) |
| 注册流程 | user_login_or_register 未传递 invite_code |
问题根因
- 注册时未传递 invite_code - 新用户通过邀请链接注册时,前端未将邀请码传递给注册 API
- 未调用 tasks.track - 注册成功后未记录邀请行为到任务系统
实现方案
修改文件
| 文件 | 修改内容 |
|---|---|
authSlice.tsx |
登录/注册时传递 invite_code |
Invite.tsx |
注册成功后调用 tasks.track |
详细步骤
1. 从 URL 提取 invite_code
当用户通过邀请链接(如 https://chunyu.dev/invite/CY123456 或带 ?invite=CY123456)访问时,从 URL 中提取邀请码并存储到 localStorage。
2. 注册时传递 invite_code
在 user_login_or_register 请求中附加 invite_code 参数。
3. 注册成功后调用 tasks.track
注册成功后,调用 api_request.tasks.track({ action_type: 'invite', count: 1 }) 记录邀请行为。
验证步骤
- 访问
/invite/CY123456确认邀请码被正确提取 - 使用新账号注册,确认注册请求包含
invite_code - 注册成功后确认
tasks.track被调用 - 在任务中心确认邀请任务进度更新