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

45 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` - 完整重构邀请流程