Files
soul-yongping/.cursor/meeting/2026-03-05_超级个体解锁眼睛需求分析.md

2.7 KiB
Raw Blame History

需求分析 - 超级个体解锁眼睛交互改造

基本信息

  • 时间2026-03-05
  • 需求来源:用户反馈
  • 涉及页面miniprogram/pages/member-detail/member-detail

一、需求描述

超级个体详情页点击「解锁眼睛」图标时,需调整交互逻辑:

原逻辑 新逻辑
弹窗「成为VIP会员并完成匹配后即可查看完整联系方式」→ 确认跳转找伙伴/匹配页 不跳转匹配页;未登录先登录;已登录按权益处理

新逻辑细则

  1. 未登录:弹窗「请先登录」→ 确认跳转「我的」页,用户登录后再返回操作
  2. 已登录
    • VIP 会员hasFullBook):直接解锁,可无限次解锁任意超级个体
    • 非 VIP:每人 1 次免费解锁,第 2 次起弹窗「免费次数已用完,开通 VIP¥1980/年)可无限解锁」→ 确认跳转 VIP 会员页1980 付款页)

二、已实现修改(小程序端)

修改文件

  • miniprogram/pages/member-detail/member-detail.js

实现要点

  1. 解锁状态存储(本地 wx.setStorageSync

    • Keymember_unlocks_{userId}
    • 值:已解锁的 memberId 数组
    • 用于判断是否已解锁、是否已用掉免费次数
  2. unlockContact() 流程

    点击眼睛
    → 未登录Modal「需要登录」→ 去登录 → switchTab 我的
    → 已登录 + VIP直接解锁并写入存储
    → 已登录 + 非VIP + 首次:免费解锁并写入存储
    → 已登录 + 非VIP + 非首次Modal「去开通」→ navigateTo VIP 页
    
  3. enrichAndFormatcontactUnlocked / wechatUnlocked

    • 原:仅 isMatched(匹配过的人)
    • 现:isMatched || localUnlocked(本地解锁列表也视为已解锁)

三、后续可选优化(后端/管理端)

1. 后端持久化(可选)

当前免费次数与解锁记录存于本地,换设备或清缓存会丢失。若需跨设备、防作弊,可:

  • 新增接口:POST /api/miniprogram/member/unlock
    • 入参:memberIduserId
    • 逻辑:校验免费次数 / VIP 权益,记录解锁关系
  • 小程序改为调用该接口,成功后更新本地展示

2. 管理端统计(可选)

  • 统计「超级个体联系方式解锁」次数
  • 按用户、按超级个体维度统计

四、验收要点

  • 未登录点击眼睛 → 弹窗「需要登录」→ 确认跳转「我的」
  • 已登录 + 非 VIP + 首次 → 免费解锁,展示完整联系方式
  • 已登录 + 非 VIP + 第 2 次起 → 弹窗「去开通」→ 确认跳转 VIP 页¥1980
  • 已登录 + VIP → 直接解锁,不限次数
  • 不跳转匹配页