2.7 KiB
2.7 KiB
需求分析 - 超级个体解锁眼睛交互改造
基本信息
- 时间:2026-03-05
- 需求来源:用户反馈
- 涉及页面:
miniprogram/pages/member-detail/member-detail
一、需求描述
超级个体详情页点击「解锁眼睛」图标时,需调整交互逻辑:
| 原逻辑 | 新逻辑 |
|---|---|
| 弹窗「成为VIP会员并完成匹配后,即可查看完整联系方式」→ 确认跳转找伙伴/匹配页 | 不跳转匹配页;未登录先登录;已登录按权益处理 |
新逻辑细则
- 未登录:弹窗「请先登录」→ 确认跳转「我的」页,用户登录后再返回操作
- 已登录:
- VIP 会员(
hasFullBook):直接解锁,可无限次解锁任意超级个体 - 非 VIP:每人 1 次免费解锁,第 2 次起弹窗「免费次数已用完,开通 VIP(¥1980/年)可无限解锁」→ 确认跳转 VIP 会员页(1980 付款页)
- VIP 会员(
二、已实现修改(小程序端)
修改文件
miniprogram/pages/member-detail/member-detail.js
实现要点
-
解锁状态存储(本地
wx.setStorageSync)- Key:
member_unlocks_{userId} - 值:已解锁的
memberId数组 - 用于判断是否已解锁、是否已用掉免费次数
- Key:
-
unlockContact()流程点击眼睛 → 未登录:Modal「需要登录」→ 去登录 → switchTab 我的 → 已登录 + VIP:直接解锁并写入存储 → 已登录 + 非VIP + 首次:免费解锁并写入存储 → 已登录 + 非VIP + 非首次:Modal「去开通」→ navigateTo VIP 页 -
enrichAndFormat中contactUnlocked/wechatUnlocked- 原:仅
isMatched(匹配过的人) - 现:
isMatched || localUnlocked(本地解锁列表也视为已解锁)
- 原:仅
三、后续可选优化(后端/管理端)
1. 后端持久化(可选)
当前免费次数与解锁记录存于本地,换设备或清缓存会丢失。若需跨设备、防作弊,可:
- 新增接口:
POST /api/miniprogram/member/unlock- 入参:
memberId、userId - 逻辑:校验免费次数 / VIP 权益,记录解锁关系
- 入参:
- 小程序改为调用该接口,成功后更新本地展示
2. 管理端统计(可选)
- 统计「超级个体联系方式解锁」次数
- 按用户、按超级个体维度统计
四、验收要点
- 未登录点击眼睛 → 弹窗「需要登录」→ 确认跳转「我的」
- 已登录 + 非 VIP + 首次 → 免费解锁,展示完整联系方式
- 已登录 + 非 VIP + 第 2 次起 → 弹窗「去开通」→ 确认跳转 VIP 页(¥1980)
- 已登录 + VIP → 直接解锁,不限次数
- 不跳转匹配页