Files
websopy-mp/.workbuddy/memory/2026-04-11.md
赵忠林 7ea0406336 feat(passport-invite): 优化新用户扫码邀请加入流程
- 扫码进入邀请页面时保存邀请 token 到本地存储
- 新增登录状态检测,未登录用户点击快速加入时保存邀请信息并跳转登录页
- 登录成功后返回邀请页自动执行加入应用操作,提升用户体验
- 支持已登录用户直接加入应用,简化流程
- 增加清理 pending 邀请数据的方法,防止数据残留
- 监听页面显示事件,处理登录返回后自动操作
- 调整接口请求逻辑,确保携带最新的邀请和授权数据
- 更新项目配置,注册邀请页面路径信息
2026-04-11 23:33:55 +08:00

1.6 KiB
Raw Blame History

2026-04-11 工作记录

任务:修复邀请加入应用流程

问题描述

passport/invite/index 页面在新用户扫码加入应用时存在问题:

  • 新用户点击"微信手机号快速加入"时,如果未注册,后端返回"用户不存在"
  • 页面引导用户去登录,但登录完成后没有自动执行加入应用的操作

解决方案

参考 UserCard.tsxphone-auth/index.tsx 的实现模式,修改了 src/passport/invite/index.tsx

1. 新增功能

  • 页面加载时保存邀请 token 到本地存储
  • 检测用户登录状态
  • 未登录用户点击加入时,保存邀请信息并引导到 phone-auth 登录页
  • 登录成功后返回邀请页面,自动执行加入操作
  • 新增 clearPendingInviteData 方法清理临时数据

2. 关键修改点

  • 使用 saveInviteParams 保存邀请信息
  • 使用 pending_invite_* 系列 storage key 保存待处理的邀请数据
  • 页面显示时通过 AppShow 事件监听登录返回
  • 登录成功后自动调用 handleJoinApp 完成加入

3. 流程优化

新用户流程:
1. 扫码进入邀请页面 → 保存 invite token
2. 点击"微信手机号快速加入"
3. 检测到未登录 → 保存 pending 数据 → 跳转到 phone-auth
4. 完成登录/注册 → 返回邀请页面
5. 自动检测 pending 数据 → 自动执行加入
6. 加入成功 → 跳转到首页

已登录用户流程:
1. 扫码进入邀请页面
2. 点击"微信手机号快速加入"
3. 直接执行加入操作
4. 加入成功 → 跳转到首页

文件修改

  • src/passport/invite/index.tsx - 完整重构邀请流程