- 扫码进入邀请页面时保存邀请 token 到本地存储 - 新增登录状态检测,未登录用户点击快速加入时保存邀请信息并跳转登录页 - 登录成功后返回邀请页自动执行加入应用操作,提升用户体验 - 支持已登录用户直接加入应用,简化流程 - 增加清理 pending 邀请数据的方法,防止数据残留 - 监听页面显示事件,处理登录返回后自动操作 - 调整接口请求逻辑,确保携带最新的邀请和授权数据 - 更新项目配置,注册邀请页面路径信息
45 lines
1.6 KiB
Markdown
45 lines
1.6 KiB
Markdown
# 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` - 完整重构邀请流程
|