Files
soul-yongping/.cursor/agent/团队/evolution/2026-03-12.md
2026-03-14 14:37:17 +08:00

2.2 KiB
Raw Blame History

团队共享 经验记录 - 2026-03-12

密钥/token 设计:关联小程序与 @ 人物

背景

  • 关联小程序:添加时生成 32 位英文+数字密钥,链接标签存 key小程序点击 # 时用 key 查 appId 再跳转
  • @ 人物:添加时生成 32 位 token文章 @ 时存 token小程序点击 @ 时用 token 兑换真实 ckb_api_key 后加好友

设计原则

  1. 不暴露真实密钥管理端配置的真实密钥appId、ckb_api_key不写入文章内容仅存可对外传递的 token/key
  2. 服务端兑换:小程序端只传 token/key后端用其查表得到真实密钥再调用第三方
  3. 不兼容旧数据:项目未上架,无需兼容 person_id、appId 等旧格式

数据流

场景 添加时 内容存储 小程序点击 后端兑换
关联小程序 生成 key data-mp-key 传 mpKey 查 linked_miniprograms 得 appId
@ 人物 生成 token data-id 传 targetUserId 查 persons 得 ckb_api_key

适用角色

  • 后端persons.token、linked_miniprograms.key、CKBLead 兑换逻辑
  • 管理端:链接标签选 key、@ 人物 id=token、列表展示
  • 小程序contentParser 解析 mpKey、onLinkTagTap/onMentionTap 传 key/token

9.9 买断与团队级约定

结论

  • 「9.9 买断全书」在三端的唯一来源是后端的 hasFullBook/has_full_book 信号:
    • 小程序:只看 /user/purchase-statushasFullBook/user/check-purchasedreason = "has_full_book"
    • 后端:可以通过订单或用户资料开关(如 manual_fullbook)计算该状态。
    • 管理端:如需赠送 9.9 买断,应只改后端用户资料中的开关,不直接改前端逻辑。

约定

  • 任意「免 9.9」或「赠送全书」能力都必须:
    • 由后端在 purchase-status/check-purchased 中折叠为统一的 hasFullBook/has_full_book
    • 不允许在小程序或管理端各自新增本地开关绕过后端逻辑。
  • VIP 与 9.9 买断继续分离:
    • hasFullBook → 只代表书的权限;
    • isVip → 代表会员权益(案例库、增值版等),两者可以独立打开。