diff --git a/.cursor/agent/产品经理/evolution/2026-03-18.md b/.cursor/agent/产品经理/evolution/2026-03-18.md
new file mode 100644
index 00000000..6612125c
--- /dev/null
+++ b/.cursor/agent/产品经理/evolution/2026-03-18.md
@@ -0,0 +1,38 @@
+# 产品经理 经验记录 - 2026-03-18
+
+## 文档归档与需求口径(界面驱动)
+
+### 需求基准(验收口径)
+- **需求以界面为准**:以 `开发文档/1、需求/以界面定需求.md` 的“界面清单 + 业务逻辑对齐”为验收基准。
+- **需求清单与变更记录**:
+ - 需求清单:`开发文档/1、需求/需求汇总.md`
+ - 近期讨论/决议:`开发文档/10、项目管理/运营与变更.md`
+ - 里程碑执行层:`开发文档/10、项目管理/项目落地推进表.md`
+
+### 归档原则(避免文档发散)
+- 新增/改版功能必须同步更新:
+ - 《以界面定需求》(界面与主要接口)
+ - 《需求汇总》(需求清单条目:日期/描述/状态/备注)
+ - 《运营与变更》(决议与实现摘要)
+- 旧方案文档若已过时:在 `开发文档/README.md` 的“已移除文档”里登记清理原因,避免重复讨论。
+
+### 功能需求整理(按产品域)
+- **内容阅读与付费**:预览与解锁规则、VIP 全章免费、余额支付与微信支付链路、阅读统计与埋点。
+- **代付分享**:发起人支付后分享;好友打开阅读页自动领取并解锁;发起人可查看领取进度与明细。
+- **推广分销与提现**:分润规则可配置(会员 20%/非会员 10%、内容 90%)、提现闭环(申请→审核/打款→回写→订阅消息)。
+- **找伙伴/存客宝**:@mention/#标签自动创建与同步;留资与匹配流程;限频与风控边界。
+
+### 分享场景强约束(验收必测)
+- **好友分享 vs 朋友圈分享(singlePage)**:
+ - 朋友圈进入可能是单页模式,页面能力不完整
+ - 验收必须覆盖:单页模式不触发支付/自动领取等强动作,且明确引导“前往小程序”进入完整版
+
+## 超级个体开通后自动创建@人与资料引导(会议决议)
+
+### 业务目标与规则
+- **自动创建 @人**:用户开通超级个体后,管理端「链接人与事」自动创建一条 Person 记录,展示名与用户**当前昵称一致**。
+- **资料完善拦截**:支付超级个体前若昵称/头像为默认值,必须引导至仅头像+昵称的引导页完成修改;开通后进入权益/成功页也需再次检测兜底。
+
+### 待确认
+- 昵称变更后的同步规则:是否强制同步更新 Person.name,是否需要保留历史别名/展示区分。
+
diff --git a/.cursor/agent/后端工程师/evolution/2026-03-18.md b/.cursor/agent/后端工程师/evolution/2026-03-18.md
new file mode 100644
index 00000000..608b550a
--- /dev/null
+++ b/.cursor/agent/后端工程师/evolution/2026-03-18.md
@@ -0,0 +1,41 @@
+# 后端工程师 经验记录 - 2026-03-18
+
+## 功能需求口径整理(按接口契约与风险)
+
+### 需求基准(后端视角)
+- 以 `开发文档/1、需求/以界面定需求.md` 的“界面→接口”映射为准:
+ - 小程序只用 `/api/miniprogram/*`
+ - 管理端只用 `/api/admin/*`、`/api/db/*`、`/api/orders` 等
+
+### 核心功能域(必须稳定)
+- **阅读与权限**:
+ - 未授权只返回预览;授权返回全文
+ - VIP 全章免费信号必须后端折叠输出,前端只认统一字段(避免各端各自判断)
+- **支付链路**:
+ - 下单→支付→回调→解锁/分润,必须具备幂等与可追溯(订单号、来源、日志)
+- **代付分享(发起人支付,好友领取)**:
+ - 发起人支付后产生可分享 requestSn
+ - 好友领取必须并发安全(名额扣减原子、重复领取幂等)
+ - 权益归属必须正确(代付场景 beneficiaryUserID=发起人)
+- **推广/分润/提现**:
+ - 分润规则可配置,计算口径一致
+ - 提现流转:申请→审核/打款→回写状态→订阅消息
+
+### 分享场景风险点(联调/验收必测)
+- **朋友圈 singlePage**:属于前端能力限制,但后端要做到:
+ - 接口幂等(前端重试/重复进入会更频繁)
+ - 错误码与提示文案清晰(便于前端引导“前往小程序”)
+
+### 文档归档(后端相关)
+- 里程碑推进表:`开发文档/10、项目管理/项目落地推进表.md`
+- 测试流程与回归口径:`scripts/test/功能测试流程.md`
+
+## 超级个体开通后自动创建@人(Person)与资料完善 flags
+
+### 幂等与建模建议
+- 自动创建 Person 建议以业务主键(`userId`)作为**幂等键**,避免仅依赖昵称导致重名/改名混乱。
+- 倾向在 `persons` 增加 `user_id`(并做唯一索引/约束),后续昵称变更时可按 `user_id` 同步更新 `name`。
+
+### 端上资料完善判断
+- 默认头像/昵称判定不建议只靠前端字符串规则;后端可在用户资料/登录态接口返回明确布尔值(如 `profileNeedComplete` / `isDefaultAvatar` / `isDefaultNickname`),小程序仅消费并跳转引导页。
+
diff --git a/.cursor/agent/团队/evolution/2026-03-18.md b/.cursor/agent/团队/evolution/2026-03-18.md
new file mode 100644
index 00000000..85ffb62e
--- /dev/null
+++ b/.cursor/agent/团队/evolution/2026-03-18.md
@@ -0,0 +1,24 @@
+# 团队 经验记录 - 2026-03-18
+
+## 分享链路统一规则:兼容朋友圈 singlePage(单页模式)
+
+### 背景
+微信“朋友圈分享”点进小程序页可能是 **singlePage**,能力不完整;如果不做判断,容易出现支付/登录/领取等链路断裂,引发转化损失与投诉。
+
+### 团队级决议(跨端共识)
+- **任何“分享进入”的关键流程**(支付、代付、领取、绑定等)都要:
+ - **识别 singlePage**:`wx.getSystemInfoSync().mode === 'singlePage'`(并允许通过 `app.globalData.isSinglePageMode` 兜底标记)
+ - **做能力降级**:单页模式不执行强动作(支付/自动领取/自动登录等)
+ - **给出明确引导**:提示用户点击底部 **「前往小程序」** 进入完整版后再操作
+
+### 落地建议
+- UI/交互层:统一封装 `ensureFullAppMode()`(或页面内统一判断),避免每个按钮散落实现导致漏判
+- 测试层:新增用例覆盖“朋友圈 singlePage 打开 + 点击关键按钮”应出现引导而非报错/卡死
+
+## 超级个体开通后自动创建@人与资料完善拦截(跨端共识)
+
+### 团队级决议
+- “可被 @ 的人”统一走 Person 体系,避免为超级个体另建一套 mention 逻辑。
+- 幂等键应绑定业务主键(优先 `userId`),展示名同步为昵称(具体同步规则由产品确认)。
+- 默认资料判定尽量由后端提供明确 flags,前端仅做跳转与阻断,并保留兜底规则。
+
diff --git a/.cursor/agent/小程序开发工程师/evolution/2026-03-18.md b/.cursor/agent/小程序开发工程师/evolution/2026-03-18.md
new file mode 100644
index 00000000..ddc66b76
--- /dev/null
+++ b/.cursor/agent/小程序开发工程师/evolution/2026-03-18.md
@@ -0,0 +1,34 @@
+# 小程序开发工程师 经验记录 - 2026-03-18
+
+## 分享链路:好友/朋友圈单页模式兼容(强约束)
+
+### 场景
+- **好友分享**:从会话/好友点进来,页面能力完整,可登录、可支付、可领取。
+- **朋友圈分享**:点进来可能是 **singlePage(单页模式)**,页面能力不完整(常见限制:登录/支付/部分交互不可靠)。
+
+### 结论(必须执行)
+- **凡涉及分享链路的功能**(购买、代付、领取、登录等),必须先判断是否处于单页模式:
+ - `const isSinglePage = (wx.getSystemInfoSync()?.mode === 'singlePage') || app.globalData.isSinglePageMode`
+- **单页模式下能力降级**:
+ - 禁止直接发起支付、禁止隐式自动领取等强动作
+ - 通过弹窗/提示文案 **引导用户点击底部「前往小程序」进入完整版**后再操作
+- **非单页模式**:正常执行登录/支付/领取等完整链路
+
+### 推荐实现点位(模板)
+- 打开页:若参数表示“代付/领取/支付”等强动作,单页模式直接 `wx.showModal` 提示并 return
+- 按钮点击:支付/领取/登录等入口,统一在 handler 最前面做单页模式拦截
+
+### 关联模块
+- 阅读页 `pages/read/read`、代付/支付相关页面
+
+## 超级个体支付前资料完善拦截(头像+昵称引导)
+
+### 结论
+- 复用 `pages/avatar-nickname`(仅头像+昵称)作为“资料完善引导页”。
+- 在两处做强校验并跳转:
+ - **支付超级个体之前**:在“去支付/确认支付”按钮入口先校验默认头像/昵称,不通过则 `navigateTo('/pages/avatar-nickname/avatar-nickname')` 并 return。
+ - **开通成功后**:在权益页/成功回调再校验一次兜底,确保用户最终资料不为默认。
+
+### 口径
+- 默认判断优先使用后端返回 flags(如 `profileNeedComplete`),前端仅做兜底规则(空昵称、昵称以“微信用户”开头、头像为空/命中默认头像域名等)。
+
diff --git a/.cursor/agent/开发助理/evolution/2026-03-18.md b/.cursor/agent/开发助理/evolution/2026-03-18.md
new file mode 100644
index 00000000..71afa901
--- /dev/null
+++ b/.cursor/agent/开发助理/evolution/2026-03-18.md
@@ -0,0 +1,15 @@
+# 开发助理 经验记录 - 2026-03-18
+
+## 开发文档归档整理(统一入口与索引一致性)
+
+### 发现与修复
+- `开发文档/README.md` 索引引用了 `开发文档/10、项目管理/项目落地推进表.md`,但该文件缺失。
+- 已补齐:新建 `开发文档/10、项目管理/项目落地推进表.md`,用于记录里程碑、风险与下一步。
+
+### 归档建议(持续维护规则)
+- 需求基准:`以界面定需求.md`
+- 需求清单:`需求汇总.md`
+- 决议与变更:`运营与变更.md`
+- 执行层推进:`项目落地推进表.md`
+- 每次变更后按上述 4 份文档联动更新,避免“清单/决议/执行层”脱节。
+
diff --git a/.cursor/agent/开发助理/经验清单.md b/.cursor/agent/开发助理/经验清单.md
index 3ab0261c..c822c1cf 100644
--- a/.cursor/agent/开发助理/经验清单.md
+++ b/.cursor/agent/开发助理/经验清单.md
@@ -51,6 +51,8 @@
| 2026-03-17 | 小程序 | 业务规则 | - | 代付统一到代付页:gift=1&ref 打开 read 时 redirectTo 代付页,禁止在阅读页代付 |
| 2026-03-17 | 软件测试 | 流程定稿 | testing SKILL | 功能测试流程:成功 ☑️、失败列问题、最终报告;scripts/test/功能测试流程.md、测试报告-环境与用例清单.md |
| 2026-03-17 | 后端、团队 | 架构/最佳实践 | api-dev SKILL | Redis 缓存:parts/hot/recommended/stats/config/章节 content;容灾回退 DB;OSS 上传;/health 返回 database/redis 状态 |
+| 2026-03-18 | 小程序、团队 | 业务规则/最佳实践 | - | 分享链路兼容好友/朋友圈 singlePage:单页模式能力降级(不支付/不自动领取),引导点击底部“前往小程序”进入完整版 |
+| 2026-03-18 | 产品、后端、管理端、测试 | 文档归档/需求口径 | - | 文档归档整理:以《以界面定需求》为基准,各角色重整“功能需求+验收口径+风险点”并写入各自经验库;补齐《项目落地推进表》 |
---
@@ -61,4 +63,4 @@
---
-**最后更新**:2026-03-17(会议收尾:源码优化完成与测试流程定稿)
+**最后更新**:2026-03-18
diff --git a/.cursor/agent/开发助理/项目索引/产品.md b/.cursor/agent/开发助理/项目索引/产品.md
index 54296adb..aef54c31 100644
--- a/.cursor/agent/开发助理/项目索引/产品.md
+++ b/.cursor/agent/开发助理/项目索引/产品.md
@@ -24,9 +24,11 @@ Soul 创业派对产品定位:面向创业者的社区/工具型小程序。
| 2026-03-16 | 乘风发起例行开发进度同步 | 已完成 |
| 2026-03-16 | 会议:new-soul 新需求与当前项目差异分析 | 已完成 |
| 2026-03-17 | 会议:稳定版源码质量优化;验收标准功能不变、三端联调通过 | 待续 |
+| 2026-03-18 | 文档归档整理:以《以界面定需求》为基准,重整需求口径/验收点/分享 singlePage 约束,写入产品经验库 | 已完成 |
+| 2026-03-18 | 会议:超级个体开通后自动创建@人与支付前资料引导(头像+昵称) | 已完成 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD,状态用:已完成 / 进行中 / 待续 / 搁置
---
-**最后更新**:2026-03-17
+**最后更新**:2026-03-18
diff --git a/.cursor/agent/开发助理/项目索引/后端.md b/.cursor/agent/开发助理/项目索引/后端.md
index 354b2d4c..15a3ef98 100644
--- a/.cursor/agent/开发助理/项目索引/后端.md
+++ b/.cursor/agent/开发助理/项目索引/后端.md
@@ -36,9 +36,11 @@ soul-api(Go + Gin + GORM + MySQL)提供三组路由:`/api/miniprogram/*`
| 2026-03-17 | 会议:稳定版源码质量优化;敏感配置生产强制校验、新增 /api/admin/user/track、AdminWithdrawTest 环境限制 | 已完成 |
| 2026-03-17 | 会议收尾:源码优化 10 项全部完成;开发环境测试 10 通过 2 跳过 | 已完成 |
| 2026-03-17 | 性能优化会议:Redis 缓存接入(parts/hot/recommended/stats/config/章节 content)、容灾回退 DB;OSS 上传接入;/health 返回 database/redis 状态 | 已完成 |
+| 2026-03-18 | 文档归档整理:按界面→接口→规则口径重整后端功能需求与风险点,写入角色经验库 | 已完成 |
+| 2026-03-18 | 会议:超级个体开通后自动创建@人(Person 绑定 userId 幂等)与资料完善 flags 方案 | 已完成 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD,状态用:已完成 / 进行中 / 待续 / 搁置
---
-**最后更新**:2026-03-17
+**最后更新**:2026-03-18
diff --git a/.cursor/agent/开发助理/项目索引/团队.md b/.cursor/agent/开发助理/项目索引/团队.md
index 0afdc8f5..03f77197 100644
--- a/.cursor/agent/开发助理/项目索引/团队.md
+++ b/.cursor/agent/开发助理/项目索引/团队.md
@@ -29,9 +29,11 @@ Soul 创业派对全项目架构与约定:路由隔离(miniprogram/admin/db
| 2026-03-16 | TipTap Mention 需 data-label 规则;链接人与事与存客宝对接优化会议收尾 | 已完成 |
| 2026-03-17 | 代付美团式流程与权益归属约定:读页→代付页→分享;权益/分佣归发起人;PayNotify beneficiaryUserID | 已完成 |
| 2026-03-17 | 性能优化与 Redis 缓存方案落地:Redis 容灾回退 DB、OSS 上传容灾;/health 返回 database/redis 状态 | 已完成 |
+| 2026-03-18 | 吸收经验:分享进入链路需兼容朋友圈 singlePage;单页模式不执行支付/自动领取等强动作并引导“前往小程序” | 已完成 |
+| 2026-03-18 | 会议:超级个体开通后自动创建@人统一走 Person;幂等键绑定 userId;默认资料 flags 后端输出 | 已完成 |
> **格式说明**:每次架构级讨论后在此追加一行,日期格式 YYYY-MM-DD
---
-**最后更新**:2026-03-17
+**最后更新**:2026-03-18
diff --git a/.cursor/agent/开发助理/项目索引/小程序.md b/.cursor/agent/开发助理/项目索引/小程序.md
index 3327944e..3639070e 100644
--- a/.cursor/agent/开发助理/项目索引/小程序.md
+++ b/.cursor/agent/开发助理/项目索引/小程序.md
@@ -39,9 +39,11 @@
| 2026-03-17 | 代付页营销:章节标题+20%内容预览;我的代付列表点击进详情;页面协调 | 已完成 |
| 2026-03-17 | 会议:稳定版源码质量优化;删除 payment.js、goToMatch 重复、备份文件;config 读取、totalSections 动态化 | 已完成 |
| 2026-03-17 | 会议收尾:源码优化 5 项全部完成;开发环境测试通过 | 已完成 |
+| 2026-03-18 | 吸收经验:分享链路需兼容好友/朋友圈 singlePage;单页模式能力降级并引导“前往小程序”进入完整版 | 已完成 |
+| 2026-03-18 | 会议:支付超级个体前/开通后资料默认校验,跳转 avatar-nickname 引导页(仅头像+昵称) | 已完成 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD,状态用:已完成 / 进行中 / 待续 / 搁置
---
-**最后更新**:2026-03-17
+**最后更新**:2026-03-18
diff --git a/.cursor/agent/开发助理/项目索引/测试.md b/.cursor/agent/开发助理/项目索引/测试.md
index 8ac67a6f..ea8820bb 100644
--- a/.cursor/agent/开发助理/项目索引/测试.md
+++ b/.cursor/agent/开发助理/项目索引/测试.md
@@ -30,7 +30,9 @@
| 2026-03-17 | 会议:稳定版源码质量优化;每项小回归、全部完成后完整三端联调 | 待续 |
| 2026-03-17 | 会议收尾:功能测试流程定稿、测试报告模板、开发环境 10 通过 2 跳过 | 已完成 |
| 2026-03-17 | 性能优化会议:test_upload.py 6 用例;/health 可验证 database/redis;部署后回归缓存接口 | 已完成 |
+| 2026-03-18 | 文档归档整理:按界面驱动口径统一验收;补充分享 singlePage 降级与引导为必测项 | 已完成 |
+| 2026-03-18 | 会议:新增用例(资料默认阻断支付、Person 自动创建幂等、昵称变更同步回归) | 已完成 |
---
-**最后更新**:2026-03-17
+**最后更新**:2026-03-18
diff --git a/.cursor/agent/开发助理/项目索引/管理端.md b/.cursor/agent/开发助理/项目索引/管理端.md
index 68f6d635..7c0d69ae 100644
--- a/.cursor/agent/开发助理/项目索引/管理端.md
+++ b/.cursor/agent/开发助理/项目索引/管理端.md
@@ -41,11 +41,13 @@
| 2026-03-17 | 会议:稳定版源码质量优化;UserDetailModal 改 /api/admin/user/track、RichEditor HTML 转义 | 已完成 |
| 2026-03-17 | 会议收尾:源码优化已落地;开发环境测试通过 | 已完成 |
| 2026-03-17 | 性能优化会议:OSS 配置后上传自动优先 OSS,失败回退本地;无需前端改动 | 已完成 |
+| 2026-03-18 | 文档归档整理:按《以界面定需求》重整管理端功能需求与验收口径,写入角色经验库 | 已完成 |
+| 2026-03-18 | 会议:超级个体开通后自动创建@人;管理端可选展示 userId/来源以便排查重名 | 已完成 |
> **格式说明**:每次开发后在此追加一行,日期格式 YYYY-MM-DD,状态用:已完成 / 进行中 / 待续 / 搁置
---
-**最后更新**:2026-03-17
+**最后更新**:2026-03-18
> 注:soul-admin 构建仍有 DistributionPage Order.description 类型错误(与本次迁移无关),待修复。
diff --git a/.cursor/agent/管理端开发工程师/evolution/2026-03-18.md b/.cursor/agent/管理端开发工程师/evolution/2026-03-18.md
new file mode 100644
index 00000000..a3817fd1
--- /dev/null
+++ b/.cursor/agent/管理端开发工程师/evolution/2026-03-18.md
@@ -0,0 +1,29 @@
+# 管理端开发工程师 经验记录 - 2026-03-18
+
+## 功能需求整理(以界面定需求 → 管理端任务清单)
+
+### 需求基准
+- 管理端界面与接口以 `开发文档/1、需求/以界面定需求.md` 第三节为准。
+- 允许路径:`/api/admin/*`、`/api/db/*`、`/api/orders` 等;禁止调用 `/api/miniprogram/*`。
+
+### 主要功能域(稳定版基线)
+- **登录与鉴权**:JWT Bearer;鉴权失败应清 token 并回登录(避免假登录态)。
+- **数据概览**:用户/订单/收入、趋势与最近列表。
+- **内容管理**:章节树/内容编辑/API 文档入口(以稳定版为主,迁移新版时不覆盖核心逻辑)。
+- **用户管理**:列表/搜索/详情;VIP 设置(到期必填);用户余额与行为轨迹。
+- **订单管理**:支付方式(微信/余额/代付);筛选/退款;用户/推荐人信息展示。
+- **提现管理**:审核/打款/状态流转;测试接口在 release 环境不可用。
+- **系统设置**:免费章节、推广设置、站点与 OSS 配置(如有 region 等字段需与后端契约一致)。
+
+### 新版差异(迁移待办口径)
+- 迁移与否以 `开发文档/迁移完成度与待办清单.md` 为准:优先补齐“运行时配置/审核模式/auditMode”相关的界面隐藏与配置读取一致性。
+
+### 分享链路验收提醒(管理端侧)
+- 虽然 singlePage 属于小程序端场景,但管理端涉及“配置/开关/文案”时,需要给小程序提供可配置的引导文案或开关(若业务要求),否则前端只能硬编码。
+
+## 超级个体开通后自动创建@人(链接人与事)
+
+### 管理端影响面
+- 自动创建的 Person 记录会出现在「链接人与事」列表中;如后端新增 `persons.user_id`,管理端可选增加一列“绑定用户/来源”,便于运营排查与避免重名困扰。
+- mention 展示依赖 TipTap 的 `data-label`:只要后端/数据层保证 `data-label=昵称`,管理端预览与编辑侧显示即可稳定。
+
diff --git a/.cursor/agent/软件测试/evolution/2026-03-18.md b/.cursor/agent/软件测试/evolution/2026-03-18.md
new file mode 100644
index 00000000..2e4a22e6
--- /dev/null
+++ b/.cursor/agent/软件测试/evolution/2026-03-18.md
@@ -0,0 +1,34 @@
+# 软件测试 经验记录 - 2026-03-18
+
+## 文档归档后测试口径统一(按“界面→接口→规则”验收)
+
+### 验收基准(先看文档再测)
+- 《以界面定需求》:`开发文档/1、需求/以界面定需求.md`
+- 《需求清单》:`开发文档/1、需求/需求汇总.md`
+- 《变更与决议》:`开发文档/10、项目管理/运营与变更.md`
+- 《测试流程》:`scripts/test/功能测试流程.md`
+- 《里程碑推进》:`开发文档/10、项目管理/项目落地推进表.md`
+
+### 分享场景新增必测点(高优先级)
+- **好友分享**:进入页面能力完整,支付/登录/领取均可用。
+- **朋友圈分享(singlePage)**:
+ - 进入后页面能力可能不完整
+ - 关键按钮点击应 **不执行强动作**(支付/自动领取/自动登录等)
+ - 必须出现明确引导:点击底部 **「前往小程序」** 进入完整版
+
+### 回归覆盖建议(与分享强相关的链路)
+- 代付分享:发起人支付→分享→好友打开→自动/手动领取→解锁正文→重复进入幂等
+- 支付与回调:微信/余额两条路,状态一致,失败/取消提示一致
+- 路径隔离:小程序只调 `/api/miniprogram/*`;管理端不调 miniprogram
+
+## 新增用例:超级个体开通后自动创建@人与支付前资料引导
+
+### 资料引导拦截
+- 默认资料(昵称/头像)→ 点击支付超级个体 → 必须跳转 `avatar-nickname` 引导页并阻断支付
+- 引导页保存成功 → 返回原流程继续支付(不丢失上下文)
+- 已完善资料 → 不拦截支付
+
+### Person 自动创建(幂等)
+- 支付成功回调重复触发/用户重复进入成功页 → Person 记录不应重复创建
+- 昵称变更后同步策略回归(若实现“跟随昵称”)
+
diff --git a/.cursor/meeting/2026-03-18_超级个体开通后自动创建@人与资料引导.md b/.cursor/meeting/2026-03-18_超级个体开通后自动创建@人与资料引导.md
new file mode 100644
index 00000000..b22c5765
--- /dev/null
+++ b/.cursor/meeting/2026-03-18_超级个体开通后自动创建@人与资料引导.md
@@ -0,0 +1,130 @@
+# 会议纪要 - 2026-03-18 | 超级个体开通后自动创建@人与资料引导
+
+> 本文件由**助理橙子**在会议结束后自动生成。
+
+---
+
+## 基本信息
+
+- **时间**:2026-03-18 (记录时间以当天为准)
+- **议题**:
+ - 小程序用户开通「超级个体」后,管理端「链接人与事」需自动创建一个与用户昵称一致的 `@人`
+ - 小程序新增校验:用户昵称/头像为默认值时,跳转到仅修改头像+昵称的引导页;且在支付超级个体之前也必须先完成此检查
+- **触发方式**:开个会
+- **参与角色**:产品经理、后端开发、管理端开发工程师、小程序开发工程师、测试人员
+
+---
+
+## 各角色发言
+
+### 【产品经理】
+
+- **目标**:让超级个体开通后立刻具备「可被内容 @」的入口,形成“内容→人→转化”的闭环;同时在付费前强制用户完善头像昵称,避免默认资料影响信任与转化。
+- **业务规则**:
+ - 自动创建的 `@人` 展示名 **必须与当前用户昵称一致**(后续昵称变更需要同步策略)。
+ - 资料引导页只包含头像+昵称两项,用户完成后回到原流程继续支付/使用。
+- **验收**:
+ - 开通成功后,管理端「链接人与事」列表出现该用户昵称对应的记录;且可在内容编辑中被搜索/插入为 mention。
+ - 支付超级个体前若昵称/头像为默认值,必须跳转引导页并阻断支付。
+
+### 【后端开发】
+
+- **建议实现点**:在“超级个体开通成功”的后端闭环(支付回调/开通接口最终落库点)触发一次“确保 Person 存在”的逻辑。
+- **数据与幂等**:
+ - 仅用 `name=nickname` 作为唯一键会遇到重名与改名问题;建议在 `persons` 增加 `user_id`(或等价字段)作为绑定关系,做到幂等与可追溯。
+ - 若暂不加字段,也至少保证:同名已存在则复用,不重复创建。
+- **接口契约方向**:
+ - 小程序资料默认判定若后端统一输出更稳:建议在用户资料接口/登录态接口返回 `profileNeedComplete` / `isDefaultAvatar` / `isDefaultNickname`,小程序只负责跳转与阻断支付。
+
+### 【管理端开发工程师】
+
+- 「链接人与事」现有列表与 Person CRUD 已具备承载自动创建记录的能力;若增加 `user_id` 字段,可在列表中加一列“来源/绑定用户”便于运营排查。
+- 内容编辑插入 mention 已依赖 `data-label` 显示名规则:只要后端/存储保证 `data-label=昵称`,即可正确展示。
+
+### 【小程序开发工程师】
+
+- 工程上已有独立页 `pages/avatar-nickname/avatar-nickname`(仅头像+昵称),可复用。
+- 需要补两处拦截:
+ - **支付前**:在“去支付/确认支付”按钮入口做一次默认资料校验,未通过则跳转引导页并 return。
+ - **开通后**:在超级个体权益页/开通成功回调后再做一次校验,若仍为默认则跳引导页(兼容用户开通后才意识到资料不完善)。
+- 默认判定若只靠前端字符串规则易漂移,建议后端提供明确布尔值;前端可做兜底规则(空昵称、昵称以“微信用户”开头、头像为空/命中默认头像域名等)。
+
+### 【测试人员】
+
+- 新增用例需覆盖:
+ - 资料默认 → 触发引导页 → 保存成功 → 回到支付流程继续完成支付
+ - 资料已完善 → 不拦截支付
+ - 开通成功后自动创建 Person:重复支付回调/重复点击导致的幂等(不应创建多条)
+ - 昵称变更后:自动创建记录是否更新展示名(按决议验收)
+
+---
+
+## 讨论过程
+
+- 讨论了 Person 的现有语义(用于文章 mention 与 CKB 线索承接),并确认“超级个体开通后自动创建 @人”应落在同一条 Person 体系内,避免另起一套表导致前后端两套 mention 逻辑分裂。
+- 对“唯一键”的讨论:仅用昵称无法保证幂等与长期一致性,因此倾向新增 `persons.user_id` 绑定用户;并在昵称变化时做同步更新策略。
+- 对“默认资料判定”的讨论:前端硬编码规则不稳,后端输出明确 flags 最稳;前端保留兜底。
+
+---
+
+## 会议决议
+
+1. **自动创建 @人(Person)触发点**:在“超级个体开通成功”的后端落库闭环触发 `ensurePersonForUser(userId)`;幂等保证不重复创建。
+2. **Person 与用户绑定**:优先方案为 `persons` 增加 `user_id` 字段(并加唯一约束/索引),以 `user_id` 为幂等键;`name` 作为展示名,与用户昵称保持同步策略。
+3. **小程序资料引导**:复用 `pages/avatar-nickname`,在“支付前入口”与“开通后进入权益页/成功回调”两处增加默认资料校验与跳转。
+4. **默认资料判定口径**:后端优先提供明确 flags(如 `profileNeedComplete` / `isDefaultNickname` / `isDefaultAvatar`),小程序仅消费;前端可保留兜底规则。
+
+---
+
+## 待办事项
+
+| 责任角色 | 任务 | 优先级 | 截止建议 |
+|---------|------|--------|---------|
+| 后端开发 | 在超级个体开通成功链路增加 `ensurePersonForUser`;为 `persons` 增加 `user_id` 并做幂等;必要时补“昵称变更同步” | 高 | 2026-03-20 |
+| 管理端开发工程师 | 链接人与事列表可选增加 `userId/来源` 展示与筛选;确认插入 mention 时 `data-label` 始终为昵称 | 中 | 2026-03-21 |
+| 小程序开发工程师 | 支付前与开通后两处增加资料默认校验;不通过则跳转 `avatar-nickname` 引导页并阻断后续动作 | 高 | 2026-03-20 |
+| 产品经理 | 明确“昵称变更后的同步规则/是否允许重名冲突显示”;补充验收标准文案 | 中 | 2026-03-19 |
+| 测试人员 | 补充用例:资料引导阻断支付 + 幂等创建 Person + 昵称变更同步回归 | 中 | 联调前 |
+
+---
+
+## 问题与作答区
+
+| # | 问题 | 责任角色 | 作答 |
+|---|------|---------|------|
+| 1 | `persons.user_id` 是否需要唯一索引?重名用户在列表展示如何区分? | 后端/产品 | (待补充) |
+| 2 | 昵称变更是否必须同步更新 Person.name?若同步,是否保留历史别名? | 产品/后端 | (待补充) |
+| 3 | 默认头像/昵称判定的最终口径(后端 flags vs 前端兜底规则)以哪一套为准? | 后端/小程序 | (待补充) |
+
+---
+
+## 各角色经验与业务理解更新
+
+### 产品经理
+
+- 超级个体开通后要立刻具备“可被内容 @”入口;支付前资料完善是转化关键拦截点(头像/昵称)。
+
+### 后端开发
+
+- 自动创建 Person 必须做幂等,建议以 `user_id` 绑定,避免仅靠昵称造成重名/改名混乱;默认资料判定尽量由后端输出 flags,前端只消费。
+
+### 管理端开发工程师
+
+- Person 体系可承载自动创建记录;mention 显示依赖 `data-label`,需确保展示名与数据一致。
+
+### 小程序开发工程师
+
+- 复用 `avatar-nickname` 引导页,在支付前/开通后两处做资料校验与跳转;后端 flags 优先,前端规则兜底。
+
+### 测试人员
+
+- 新增强约束:资料未完善必须阻断支付;自动创建 Person 要验幂等与昵称变更同步。
+
+### 团队共享
+
+- “可被 @ 的人”统一走 Person 体系;幂等键优先绑定业务主键(userId),展示名同步为昵称;默认资料判定由后端输出布尔 flags 更稳定。
+
+---
+
+*会议纪要由助理橙子生成 | 各角色经验已同步至 `agent/{角色}/evolution/2026-03-18.md`*
+
diff --git a/.cursor/meeting/README.md b/.cursor/meeting/README.md
index 7eabb347..e62e85d5 100644
--- a/.cursor/meeting/README.md
+++ b/.cursor/meeting/README.md
@@ -79,3 +79,4 @@ YYYY-MM-DD_会议主题.md
| 2026-03-17 | 稳定版源码质量优化方案讨论与开发安排 | 产品、后端、管理端、小程序、测试 | [2026-03-17_稳定版源码质量优化方案讨论与开发安排.md](2026-03-17_稳定版源码质量优化方案讨论与开发安排.md) |
| 2026-03-17 | 会议收尾:源码优化完成与测试流程定稿 | 产品、后端、管理端、小程序、测试、助理橙子 | [2026-03-17_会议收尾-源码优化完成与测试流程定稿.md](2026-03-17_会议收尾-源码优化完成与测试流程定稿.md) |
| 2026-03-17 | 性能优化与 Redis 缓存方案落地 | 后端、管理端、小程序、测试、助理橙子 | [2026-03-17_性能优化与Redis缓存方案落地.md](2026-03-17_性能优化与Redis缓存方案落地.md) |
+| 2026-03-18 | 超级个体开通后自动创建@人与资料引导 | 产品、后端、管理端、小程序、测试 | [2026-03-18_超级个体开通后自动创建@人与资料引导.md](2026-03-18_超级个体开通后自动创建@人与资料引导.md) |
diff --git a/ee.txt b/ee.txt
deleted file mode 100644
index e69de29b..00000000
diff --git a/miniprogram/app.js b/miniprogram/app.js
index 3d8c47ba..489850bc 100644
--- a/miniprogram/app.js
+++ b/miniprogram/app.js
@@ -13,8 +13,8 @@ const DEFAULT_WITHDRAW_TMPL_ID = 'u3MbZGPRkrZIk-I7QdpwzFxnO_CeQPaCWF2FkiIablE'
App({
globalData: {
// API 基础地址:开发时修改下面一行切换环境
- baseUrl: "https://soulapi.quwanzhi.com",
- // baseUrl: 'http://localhost:8080', // 开发
+ // baseUrl: "https://soulapi.quwanzhi.com",
+ baseUrl: 'http://localhost:8080', // 开发
// baseUrl: 'https://souldev.quwanzhi.com', // 测试
// 小程序配置 - 真实AppID
appId: DEFAULT_APP_ID,
diff --git a/miniprogram/pages/gift-pay/detail.wxml b/miniprogram/pages/gift-pay/detail.wxml
index 2c1239b3..0f04bcb0 100644
--- a/miniprogram/pages/gift-pay/detail.wxml
+++ b/miniprogram/pages/gift-pay/detail.wxml
@@ -124,6 +124,10 @@
发送给好友
+
+