Files
chunyu_prject_react/.trae/documents/invite-tasks-track-fix.md
T
2026-08-05 23:59:22 +08:00

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

问题根因

  1. 注册时未传递 invite_code - 新用户通过邀请链接注册时,前端未将邀请码传递给注册 API
  2. 未调用 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 }) 记录邀请行为。


验证步骤

  1. 访问 /invite/CY123456 确认邀请码被正确提取
  2. 使用新账号注册,确认注册请求包含 invite_code
  3. 注册成功后确认 tasks.track 被调用
  4. 在任务中心确认邀请任务进度更新