增强用户隐私保护,新增昵称授权功能。更新头像选择逻辑,用户可直接通过按钮选择微信头像或相册图片。优化个人资料页面,强化手机号必填提示,提升用户体验。调整多个页面以支持新隐私授权机制,确保符合最新隐私规范。
This commit is contained in:
119
miniprogram/docs/资料完善引导流程图.md
Normal file
119
miniprogram/docs/资料完善引导流程图.md
Normal file
@@ -0,0 +1,119 @@
|
||||
# Soul 小程序 - 资料完善引导流程
|
||||
|
||||
> **入口统一**:仅 `checkVipContactRequiredAndGuide` 被 onLaunch/onShow/登录 调度;非 VIP 时内部链式调用 `checkAvatarNicknameAndGuide`。
|
||||
|
||||
---
|
||||
|
||||
## 一、整体流程(冷启动 / onShow)
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start([入口:onLaunch 1.5s / onShow 0.5s]) --> CheckLogin{已登录?}
|
||||
CheckLogin -->|否| End1([结束])
|
||||
CheckLogin -->|是| VIPCheck[checkVipContactRequiredAndGuide]
|
||||
VIPCheck --> CoolDown{3秒内已执行过?}
|
||||
CoolDown -->|是| End0([结束,防重复])
|
||||
CoolDown -->|否| RouteSkip{当前在 profile-edit<br/>或 avatar-nickname?}
|
||||
RouteSkip -->|是| End0
|
||||
RouteSkip -->|否| FetchAPI
|
||||
VIPCheck --> FetchAPI[请求 API:VIP 状态 + 用户资料]
|
||||
FetchAPI --> UpdateIsVip[更新 globalData.isVip]
|
||||
UpdateIsVip --> IsVip{VIP?}
|
||||
|
||||
IsVip -->|否| AvatarCheck[checkAvatarNicknameAndGuide]
|
||||
AvatarCheck --> End2([结束])
|
||||
|
||||
IsVip -->|是| SkipProfile{当前在 profile-edit?}
|
||||
SkipProfile -->|是| End3([结束])
|
||||
SkipProfile -->|否| NeedAvatar{头像/昵称未改?}
|
||||
|
||||
NeedAvatar -->|是| Modal1[弹窗:为了更好为您服务,请完善资料]
|
||||
Modal1 --> Redirect1[redirectTo profile-edit]
|
||||
Redirect1 --> End4([结束])
|
||||
|
||||
NeedAvatar -->|否| HasPhone{有手机号?}
|
||||
HasPhone -->|否| Modal2[弹窗:VIP会员需完善手机号...]
|
||||
Modal2 --> Redirect2[redirectTo profile-edit]
|
||||
Redirect2 --> End5([结束])
|
||||
|
||||
HasPhone -->|是| HasWechat{有微信号?}
|
||||
HasWechat -->|是| End6([结束])
|
||||
HasWechat -->|否| Modal3[弹窗:请到资料页完善微信号]
|
||||
Modal3 --> Nav1[navigateTo profile-edit]
|
||||
Nav1 --> End7([结束])
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、头像/昵称引导(非 VIP 用户)
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A([checkAvatarNicknameAndGuide]) --> B{globalData.isVip?}
|
||||
B -->|是| X([跳过,由 VIP 检测处理])
|
||||
B -->|否| C{头像/昵称已完善?}
|
||||
C -->|是| Y([结束])
|
||||
C -->|否| D{当前在 profile-edit<br/>或 avatar-nickname?}
|
||||
D -->|是| Z([结束])
|
||||
D -->|否| E{今日已提示过?}
|
||||
E -->|是| W([结束])
|
||||
E -->|否| F[弹窗:请设置头像和昵称]
|
||||
F --> G{点击去完善?}
|
||||
G -->|是| H[navigateTo avatar-nickname]
|
||||
G -->|否 稍后| I([结束])
|
||||
H --> I
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、首次登录(新注册用户)
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Login([登录成功]) --> NewUser{isNewUser?}
|
||||
NewUser -->|否| VIPFlow[checkVipContactRequiredAndGuide]
|
||||
VIPFlow --> Flow1([见流程图一])
|
||||
|
||||
NewUser -->|是| NeedAvatar{头像/昵称未改?}
|
||||
NeedAvatar -->|否| VIPFlow
|
||||
NeedAvatar -->|是| ForceRedirect[redirectTo avatar-nickname<br/>无弹窗,强制跳转]
|
||||
ForceRedirect --> End([结束])
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、VIP 购买成功(超级个体)
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Pay([VIP 支付成功]) --> Sync[同步权益 / 拉取 VIP 状态]
|
||||
Sync --> Modal[弹窗:为了更好为您服务,请填写好资料]
|
||||
Modal --> Redirect[redirectTo profile-edit?from=vip]
|
||||
Redirect --> End([结束])
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、页面职责
|
||||
|
||||
| 页面 | 用途 |
|
||||
|------|------|
|
||||
| **avatar-nickname** | 仅头像 + 昵称,专注引导新用户/非 VIP |
|
||||
| **profile-edit** | 完整资料(手机号、微信号、MBTI、行业等),VIP 用户统一跳转 |
|
||||
|
||||
---
|
||||
|
||||
## 六、触发时机汇总
|
||||
|
||||
| 时机 | 执行的函数 | 延迟 |
|
||||
|------|------------|------|
|
||||
| onLaunch | checkVipContactRequiredAndGuide | 1500ms |
|
||||
| onShow | checkVipContactRequiredAndGuide | 500ms(节流 5min)|
|
||||
| login 成功 | checkVipContactRequiredAndGuide | 1200ms |
|
||||
| getOpenId 返回 user | checkVipContactRequiredAndGuide | 1200ms |
|
||||
| loginWithPhone 成功 | checkVipContactRequiredAndGuide | 1200ms |
|
||||
| VIP 支付成功 | _onVipPaymentSuccess | 即时 |
|
||||
|
||||
---
|
||||
|
||||
*文档生成于资料完善引导逻辑调整后*
|
||||
Reference in New Issue
Block a user