- 扫码进入邀请页面时保存邀请 token 到本地存储 - 新增登录状态检测,未登录用户点击快速加入时保存邀请信息并跳转登录页 - 登录成功后返回邀请页自动执行加入应用操作,提升用户体验 - 支持已登录用户直接加入应用,简化流程 - 增加清理 pending 邀请数据的方法,防止数据残留 - 监听页面显示事件,处理登录返回后自动操作 - 调整接口请求逻辑,确保携带最新的邀请和授权数据 - 更新项目配置,注册邀请页面路径信息
1.6 KiB
1.6 KiB
2026-04-11 工作记录
任务:修复邀请加入应用流程
问题描述
passport/invite/index 页面在新用户扫码加入应用时存在问题:
- 新用户点击"微信手机号快速加入"时,如果未注册,后端返回"用户不存在"
- 页面引导用户去登录,但登录完成后没有自动执行加入应用的操作
解决方案
参考 UserCard.tsx 和 phone-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- 完整重构邀请流程