From 41e5b1258b8d1da4d1e42b25c3f6076259571786 Mon Sep 17 00:00:00 2001
From: Alex-larget <33240357+Alex-larget@users.noreply.github.com>
Date: Sat, 28 Feb 2026 15:16:23 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=AA=E4=BA=BA=E8=B5=84?=
=?UTF-8?q?=E6=96=99=E9=A1=B5=E5=AE=9E=E7=8E=B0=E8=AF=84=E4=BC=B0=E4=BC=9A?=
=?UTF-8?q?=E8=AE=AE=E8=AE=B0=E5=BD=95=EF=BC=8C=E6=98=8E=E7=A1=AE=E5=B1=95?=
=?UTF-8?q?=E7=A4=BA=E4=B8=8E=E7=BC=96=E8=BE=91=E9=A1=B5=E5=AD=97=E6=AE=B5?=
=?UTF-8?q?=E4=B8=80=E8=87=B4=E6=80=A7=E8=A6=81=E6=B1=82=EF=BC=8C=E8=A1=A5?=
=?UTF-8?q?=E5=85=85=E6=8A=80=E8=83=BD=E5=AD=97=E6=AE=B5=E7=9A=84=E5=B1=95?=
=?UTF-8?q?=E7=A4=BA=E4=B8=8E=E7=BC=96=E8=BE=91=E9=9C=80=E6=B1=82=E3=80=82?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B0=8F=E7=A8=8B=E5=BA=8F=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=81=94=E7=B3=BB=E6=96=B9=E5=BC=8F?=
=?UTF-8?q?=E5=AE=8C=E5=96=84=E5=BC=B9=E7=AA=97=EF=BC=8C=E7=A1=AE=E4=BF=9D?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E5=9C=A8=E4=BD=BF=E7=94=A8=E6=89=BE=E4=BC=99?=
=?UTF-8?q?=E4=BC=B4=E5=8A=9F=E8=83=BD=E5=89=8D=E5=A1=AB=E5=86=99=E6=89=8B?=
=?UTF-8?q?=E6=9C=BA=E5=8F=B7=E6=88=96=E5=BE=AE=E4=BF=A1=E5=8F=B7=E3=80=82?=
=?UTF-8?q?=E8=B0=83=E6=95=B4=E7=9B=B8=E5=85=B3=E6=96=87=E6=A1=A3=E4=BB=A5?=
=?UTF-8?q?=E5=8F=8D=E6=98=A0=E6=9C=80=E6=96=B0=E8=BF=9B=E5=B1=95=EF=BC=8C?=
=?UTF-8?q?=E6=8F=90=E5=8D=87=E7=94=A8=E6=88=B7=E4=BD=93=E9=AA=8C=E4=B8=8E?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=B8=80=E8=87=B4=E6=80=A7=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../agent/产品经理/evolution/2026-02-28.md | 5 +
.../agent/后端工程师/evolution/2026-02-28.md | 10 +
.cursor/agent/团队/evolution/2026-02-28.md | 4 +
.../小程序开发工程师/evolution/2026-02-28.md | 11 +
.../管理端开发工程师/evolution/2026-02-28.md | 4 +
.../agent/软件测试/evolution/2026-02-28.md | 4 +
.cursor/meeting/2026-02-28_P0测试清单.md | 80 +
.../meeting/2026-02-28_个人资料页实现评估.md | 91 +
...026-02-28_临时需求池stitch_soul需求评审.md | 538 +++++-
.cursor/meeting/README.md | 3 +-
.cursor/skills/admin-dev/SKILL.md | 13 +-
.cursor/skills/miniprogram-dev/SKILL.md | 8 +-
.cursor/skills/role-flow-control/SKILL.md | 13 +
miniprogram/app.js | 4 +-
miniprogram/app.json | 2 +-
miniprogram/pages/chapters/chapters.js | 57 +-
miniprogram/pages/chapters/chapters.wxml | 3 +-
miniprogram/pages/chapters/chapters.wxss | 8 +
miniprogram/pages/index/index.js | 129 +-
miniprogram/pages/match/match.js | 86 +-
miniprogram/pages/match/match.wxml | 26 +
miniprogram/pages/match/match.wxss | 23 +
.../pages/mentor-detail/mentor-detail.js | 113 ++
.../pages/mentor-detail/mentor-detail.json | 1 +
.../pages/mentor-detail/mentor-detail.wxml | 118 ++
.../pages/mentor-detail/mentor-detail.wxss | 70 +
miniprogram/pages/mentors/mentors.js | 65 +
miniprogram/pages/mentors/mentors.json | 1 +
miniprogram/pages/mentors/mentors.wxml | 70 +
miniprogram/pages/mentors/mentors.wxss | 40 +
miniprogram/pages/my/my.js | 82 +-
miniprogram/pages/my/my.wxml | 256 ++-
miniprogram/pages/my/my.wxss | 1523 ++---------------
.../pages/profile-edit/profile-edit.js | 199 +++
.../pages/profile-edit/profile-edit.json | 4 +
.../pages/profile-edit/profile-edit.wxml | 135 ++
.../pages/profile-edit/profile-edit.wxss | 99 ++
.../pages/profile-show/profile-show.js | 79 +
.../pages/profile-show/profile-show.json | 4 +
.../pages/profile-show/profile-show.wxml | 135 ++
.../pages/profile-show/profile-show.wxss | 114 ++
miniprogram/pages/vip/vip.js | 17 +-
miniprogram/pages/vip/vip.wxml | 70 +-
miniprogram/pages/vip/vip.wxss | 40 +-
miniprogram/project.private.config.json | 50 +-
soul-admin/src/App.tsx | 4 +
soul-admin/src/layouts/AdminLayout.tsx | 4 +
soul-admin/src/pages/content/ContentPage.tsx | 27 +
.../MentorConsultationsPage.tsx | 133 ++
soul-admin/src/pages/mentors/MentorsPage.tsx | 429 +++++
soul-api/internal/database/database.go | 6 +
soul-api/internal/handler/book.go | 92 +-
soul-api/internal/handler/db_book.go | 9 +-
soul-api/internal/handler/user.go | 54 +-
soul-api/internal/model/chapter.go | 1 +
soul-api/internal/model/user.go | 13 +
soul-api/internal/router/router.go | 12 +
57 files changed, 3451 insertions(+), 1740 deletions(-)
create mode 100644 .cursor/meeting/2026-02-28_P0测试清单.md
create mode 100644 .cursor/meeting/2026-02-28_个人资料页实现评估.md
create mode 100644 miniprogram/pages/mentor-detail/mentor-detail.js
create mode 100644 miniprogram/pages/mentor-detail/mentor-detail.json
create mode 100644 miniprogram/pages/mentor-detail/mentor-detail.wxml
create mode 100644 miniprogram/pages/mentor-detail/mentor-detail.wxss
create mode 100644 miniprogram/pages/mentors/mentors.js
create mode 100644 miniprogram/pages/mentors/mentors.json
create mode 100644 miniprogram/pages/mentors/mentors.wxml
create mode 100644 miniprogram/pages/mentors/mentors.wxss
create mode 100644 miniprogram/pages/profile-edit/profile-edit.js
create mode 100644 miniprogram/pages/profile-edit/profile-edit.json
create mode 100644 miniprogram/pages/profile-edit/profile-edit.wxml
create mode 100644 miniprogram/pages/profile-edit/profile-edit.wxss
create mode 100644 miniprogram/pages/profile-show/profile-show.js
create mode 100644 miniprogram/pages/profile-show/profile-show.json
create mode 100644 miniprogram/pages/profile-show/profile-show.wxml
create mode 100644 miniprogram/pages/profile-show/profile-show.wxss
create mode 100644 soul-admin/src/pages/mentor-consultations/MentorConsultationsPage.tsx
create mode 100644 soul-admin/src/pages/mentors/MentorsPage.tsx
diff --git a/.cursor/agent/产品经理/evolution/2026-02-28.md b/.cursor/agent/产品经理/evolution/2026-02-28.md
index 1f709ded..508df1f8 100644
--- a/.cursor/agent/产品经理/evolution/2026-02-28.md
+++ b/.cursor/agent/产品经理/evolution/2026-02-28.md
@@ -5,3 +5,8 @@
- **stitch_soul 串联「内容→会员→导师」变现路径**:临时需求池 10 个稿子覆盖目录、导师、会员、首页、资料编辑,需在正式需求文档中明确 73 章、导师、案例库、会员的业务定义与验收标准。
- **待澄清项**:73 章与现有内容库是否同一套;导师与内容作者是否同一人;「案例库」是独立内容池还是章节分类;会员权益与价格策略。
- **优先级建议**:首页/目录/会员 > 导师列表/详情 > 资料编辑。
+
+## 个人资料页实现评估会议
+
+- **展示/编辑页一致性**:展示页(enhanced_professional_profile)与编辑页(comprehensive_profile_editor_v1_1)需字段一一对应、配色统一。
+- **skills「我擅长」**:展示页已有,编辑页必须补充;验收时确认两页数据一致。
diff --git a/.cursor/agent/后端工程师/evolution/2026-02-28.md b/.cursor/agent/后端工程师/evolution/2026-02-28.md
index d7b7a136..5c45b471 100644
--- a/.cursor/agent/后端工程师/evolution/2026-02-28.md
+++ b/.cursor/agent/后端工程师/evolution/2026-02-28.md
@@ -5,3 +5,13 @@
- **现有基础**:soul-api 已有 chapter、book、vip 模型;导师能力需新建或扩展现有 match 体系(现有 mentor 为 match 类型,非独立导师实体)。
- **待设计**:导师列表/详情/搜索筛选、预约单、会员权益与预约支付打通;接口挂 `/api/miniprogram/*`。
- **协同**:与产品核对 chapter/book/vip 现状后,给出导师/预约/会员权益的模型与接口方案。
+
+## chapter/book/vip 模型补充(问题 5 作答)
+
+- **chapters 表**:每行一节,id 如 1.1/preface;part/chapter/section 三层;73 章=行数统计。
+- **book**:无独立表,= chapters 聚合;接口 `/api/book/all-chapters`、`/api/book/chapter/:id`。
+- **vip**:vip_roles 配置角色;users 存 is_vip/vip_expire_date 等;权益优先 users,无则 orders 兜底;¥1980。
+
+## 个人资料页实现评估会议
+
+- **profile API**:`GET/POST /api/miniprogram/user/profile` 已覆盖 skills 等全部扩展字段;无需新增接口。
diff --git a/.cursor/agent/团队/evolution/2026-02-28.md b/.cursor/agent/团队/evolution/2026-02-28.md
index 7799128c..ecefa6f3 100644
--- a/.cursor/agent/团队/evolution/2026-02-28.md
+++ b/.cursor/agent/团队/evolution/2026-02-28.md
@@ -9,3 +9,7 @@
## 会议规则升级
- **问题与作答区**:开完会后必须将待确认/待澄清问题列出,在会议纪要中增加「问题与作答区」节,问题表含:序号、问题、责任角色、作答(留空供后续填写);便于追溯闭环。
+
+## 个人资料页实现评估会议
+
+- **展示/编辑页协同**:profile-show 与 profile-edit 共用同一 API,skills 等扩展字段需双向同步;配色统一为 enhanced(#5EEAD4)强化品牌一致。
diff --git a/.cursor/agent/小程序开发工程师/evolution/2026-02-28.md b/.cursor/agent/小程序开发工程师/evolution/2026-02-28.md
index 712a47ef..2d189bbe 100644
--- a/.cursor/agent/小程序开发工程师/evolution/2026-02-28.md
+++ b/.cursor/agent/小程序开发工程师/evolution/2026-02-28.md
@@ -5,3 +5,14 @@
- **页面范围**:首页、目录、导师列表/详情、会员落地页、个人资料/编辑;全部接口走 `/api/miniprogram/*`。
- **支付**:会员购买、导师预约支付需按微信支付规范实现。
- **时机**:待需求与接口确定后按优先级分阶段排期(建议:内容→会员→导师→资料编辑)。
+
+## 个人资料页实现评估会议
+
+- **profile-show**:已按 enhanced_professional_profile 完成,accent #5EEAD4;profile-edit 需与其视觉统一。
+- **profile-edit 待做**:① 增加「我擅长」输入框(skills 后端已支持);② 配色统一为 enhanced(#5EEAD4 / #050B14 / #0F1720)。
+- **流程**:我的 → profile-show → ⋯ 编辑 → profile-edit → 保存 → 返回;已打通,无需改。
+
+## input/textarea padding 规范
+
+- **原则**:给 input 或 textarea 设置 padding 时,必须用 view 包裹,padding 写在 view 上;不在 input/textarea 自身上设 padding,避免原生组件光标截断、布局异常。
+- **已升级**:miniprogram-dev SKILL §6。
diff --git a/.cursor/agent/管理端开发工程师/evolution/2026-02-28.md b/.cursor/agent/管理端开发工程师/evolution/2026-02-28.md
index 119517e9..17e8781a 100644
--- a/.cursor/agent/管理端开发工程师/evolution/2026-02-28.md
+++ b/.cursor/agent/管理端开发工程师/evolution/2026-02-28.md
@@ -5,3 +5,7 @@
- **待支撑能力**:章节管理(增删改、排序、免费/付费/NEW)、导师管理(审核、标签、价格、展示)、会员配置(权益、价格、有效期)、预约管理(列表、状态)。
- **接口依赖**:`/api/admin/*` 与 `/api/db/*`;字段需与 miniprogram 端统一。
- **时机**:待后端方案确定后规划管理端页面与接口对接。
+
+## 个人资料页实现评估会议
+
+- **无新增任务**:个人资料展示/编辑为 C 端能力,管理端沿用现有能力即可。
diff --git a/.cursor/agent/软件测试/evolution/2026-02-28.md b/.cursor/agent/软件测试/evolution/2026-02-28.md
index 99970a11..ba1b33a2 100644
--- a/.cursor/agent/软件测试/evolution/2026-02-28.md
+++ b/.cursor/agent/软件测试/evolution/2026-02-28.md
@@ -5,3 +5,7 @@
- **关键联调场景**:阅读进度、免费/付费解锁、会员权益、导师预约与支付、资料完善与提现限制。
- **三端**:miniprogram ↔ soul-api、soul-admin ↔ soul-api;变更后需回归支付、登录、提现等现有流程。
- **待办**:需求确定后补充三端联调用例与回归清单。
+
+## 个人资料页实现评估会议
+
+- **验证点**:profile-show 与 profile-edit 字段一一对应;保存后两页及「我的」数据一致;手机/微信号脱敏与复制;头像上传、昵称、MBTI 选择。
diff --git a/.cursor/meeting/2026-02-28_P0测试清单.md b/.cursor/meeting/2026-02-28_P0测试清单.md
new file mode 100644
index 00000000..9e3cdc31
--- /dev/null
+++ b/.cursor/meeting/2026-02-28_P0测试清单.md
@@ -0,0 +1,80 @@
+# stitch_soul P0 测试清单
+
+> 测试人员按此清单验证 P0 功能。
+
+---
+
+## 一、开发完成情况
+
+| 阶段 | 状态 | 说明 |
+|------|------|------|
+| **P0** | ✅ 完成 | 首页/目录 + NEW + 精选推荐算法 |
+| P1 | 未开始 | 会员落地页 |
+| P2 | 未开始 | 导师 + 预约 |
+| P3 | 未开始 | 资料编辑扩展 |
+
+---
+
+## 二、P0 接口测试
+
+**前提**:soul-api 已启动,数据库已执行 `add-chapters-is-new.sql`。
+
+### 2.1 后端接口(可用 PowerShell 脚本或 curl 验证)
+
+```powershell
+# 在 soul-api 目录下执行
+cd e:\Gongsi\Mycontent\soul-api
+.\scripts\test-p0-endpoints.ps1
+```
+
+或手动验证:
+
+| 接口 | 期望 |
+|------|------|
+| `GET /api/miniprogram/book/all-chapters` | success: true,data 为数组,每项含 `isNew` 字段 |
+| `GET /api/miniprogram/book/recommended` | success: true,data 为 1~3 条,每项含 `tag`(热门/推荐/精选) |
+| `GET /api/miniprogram/book/latest-chapters` | success: true,data 为数组(按 updated_at 降序) |
+| `GET /api/miniprogram/book/hot` | success: true,data 为数组(按阅读量或兜底排序) |
+
+### 2.2 管理端测试
+
+| 步骤 | 操作 | 期望 |
+|------|------|------|
+| 1 | 登录 soul-admin | 成功 |
+| 2 | 进入「内容管理」 | 章节列表正常 |
+| 3 | 点击某一节「编辑」 | 弹出编辑框 |
+| 4 | 勾选「标记 NEW」并保存 | 保存成功,无报错 |
+| 5 | 刷新列表,再次编辑同一节 | 「标记 NEW」保持勾选 |
+
+### 2.3 小程序测试
+
+| 步骤 | 操作 | 期望 |
+|------|------|------|
+| 1 | 打开小程序首页 | 加载正常 |
+| 2 | 查看「最新更新」Banner | 显示一条章节,点击可进入阅读 |
+| 3 | 查看「精选推荐」 | 显示 3 条,带 热门/推荐/精选 标签 |
+| 4 | 查看「最新新增」 | 有 isNew 的章节在此展示 |
+| 5 | 进入「目录」页 | 从服务端加载,按篇章聚合 |
+| 6 | 在目录中查看标记 NEW 的章节 | 显示 NEW 标签 |
+| 7 | 查看免费/¥1 显示 | 免费节显示「免费」,付费节显示「¥1」 |
+
+---
+
+## 三、联调验证
+
+| 验证点 | 说明 |
+|--------|------|
+| 管理端标记 NEW → 小程序展示 | 在管理端勾选某节 NEW,小程序目录/首页「最新新增」应出现 |
+| 精选推荐排除序言/尾声/附录 | 若 part_title 含「序言」「尾声」「附录」,不应出现在 recommended/hot |
+| 阅读量兜底 | 无 reading_progress 数据时,hot/recommended 应返回 updated_at 排序的兜底结果 |
+
+---
+
+## 四、已知限制
+
+- **阅读量**:当前依赖 `reading_progress` 表,新环境无数据时会走兜底(按 updated_at)。
+- **固定 3 章兜底**:若连章节列表都拿不到,会返回空;未实现「预设固定 3 章」配置。
+
+---
+
+*测试完成后可更新本文件,标注通过/失败及问题。*
diff --git a/.cursor/meeting/2026-02-28_个人资料页实现评估.md b/.cursor/meeting/2026-02-28_个人资料页实现评估.md
new file mode 100644
index 00000000..402c50ef
--- /dev/null
+++ b/.cursor/meeting/2026-02-28_个人资料页实现评估.md
@@ -0,0 +1,91 @@
+# 会议纪要 - 2026-02-28 | 个人资料页实现评估
+
+> 本文件由**助理橙子**在会议结束后自动生成。
+
+---
+
+## 基本信息
+
+- **时间**:2026-02-28
+- **议题**:个人资料展示页(profile-show)与编辑页(profile-edit)实现评估
+- **触发方式**:开个会议评估怎么实现
+- **参与角色**:产品经理、后端开发、管理端开发工程师、小程序开发工程师、测试人员
+
+---
+
+## 各角色发言
+
+### 【产品经理】
+
+- **展示页**(enhanced_professional_profile):面向他人查看,含头像、昵称、MBTI/地区、基本信息、个人故事、互助需求、项目介绍。
+- **编辑页**(comprehensive_profile_editor_v1_1):完整表单,需与展示页字段一一对应。
+- **待澄清**:展示页有「我擅长」展示,编辑页需补充;两页配色建议统一。
+
+**验收标准**:我的 → 展示页 → 编辑页 → 保存 → 返回,流程闭环;字段完整对应。
+
+### 【后端开发】
+
+- 现有 `GET/POST /api/miniprogram/user/profile` 已覆盖 nickname, avatar, mbti, region, industry, position, businessScale, **skills**, phone, wechatId, 个人故事三字段、互助需求两字段、projectIntro。
+- 无需新接口;skills 已支持读写,编辑页只需前端对接。
+
+### 【管理端开发工程师】
+
+- 个人资料为 C 端能力,管理端无新增任务。
+
+### 【小程序开发工程师】
+
+- **profile-show**:已按 enhanced_professional_profile 完成,配色 #5EEAD4 / #050B14 / #0F1720。
+- **profile-edit**:已按 comprehensive_profile_editor_v1_1 实现功能,配色 #4FD1C5 / #000。
+- **待做**:① 编辑页增加「我擅长」输入框;② 配色统一为 enhanced 风格。
+
+### 【测试人员】
+
+- 验证展示页与编辑页字段一致、保存后数据正确回显。
+- 手机号/微信号脱敏与复制;头像上传、昵称、MBTI 选择;空/超长输入边界。
+
+---
+
+## 讨论过程
+
+- 产品确认:skills 必须在编辑页体现。
+- 产品确认:两页配色统一为 enhanced 风格(#5EEAD4)以强化品牌一致。
+- 小程序确认:skills 后端已有,配色替换工作量小。
+
+---
+
+## 会议决议
+
+1. **skills 字段**:在 profile-edit「基本信息」区块增加「我擅长」输入框,与 profile-show 对应。
+2. **视觉统一**:profile-edit 配色统一为 enhanced(accent #5EEAD4, background #050B14, card #0F1720)。
+3. **实现顺序**:先补 skills,再做配色统一。
+4. **流程**:我的 → profile-show → ⋯ → profile-edit → 保存 → 返回,已打通,无需修改。
+
+---
+
+## 待办事项
+
+| 责任角色 | 任务 | 优先级 | 截止建议 |
+|---------|------|--------|---------|
+| 小程序开发工程师 | profile-edit 增加「我擅长」输入框及 JS 读写 | 高 | 本次迭代 |
+| 小程序开发工程师 | profile-edit 配色统一为 enhanced 风格 | 中 | 本次迭代 |
+
+---
+
+## 问题与作答区
+
+| # | 问题 | 责任角色 | 作答 |
+|---|------|---------|------|
+| 1 | 编辑页导航栏是否需增加右侧 more_horiz + 头像(设计稿有此元素)? | 产品经理 | (待补充) |
+| 2 | 展示页「成为超级个体」按钮点击后的具体跳转路径? | 产品经理 | (待补充) |
+
+---
+
+## 各角色经验与业务理解更新
+
+- 个人资料展示页与编辑页需字段、配色、流程一致,便于用户理解。
+- profile-edit 与 profile-show 共用同一套 API,skills 等扩展字段需双向同步。
+- 本次会议决议已写入本纪要;各角色经验已同步至 `agent/{角色}/evolution/2026-02-28.md`。
+
+---
+
+*会议纪要由助理橙子生成 | 2026-02-28*
diff --git a/.cursor/meeting/2026-02-28_临时需求池stitch_soul需求评审.md b/.cursor/meeting/2026-02-28_临时需求池stitch_soul需求评审.md
index f958d430..afead4a9 100644
--- a/.cursor/meeting/2026-02-28_临时需求池stitch_soul需求评审.md
+++ b/.cursor/meeting/2026-02-28_临时需求池stitch_soul需求评审.md
@@ -7,8 +7,8 @@
## 基本信息
- **时间**:2026-02-28
-- **议题**:临时需求池 `soul20260228/stitch_soul` 中的 10 个 UI 稿需求讨论,形成开发共识
-- **触发方式**:开个会议、所有人讨论这个需求
+- **议题**:分析临时需求池 soul20260228/stitch_soul 全部需求
+- **触发方式**:开个会议,所有人都来,分析这个需求
- **参与角色**:产品经理、后端开发、管理端开发工程师、小程序开发工程师、测试人员
---
@@ -17,53 +17,58 @@
### 【产品经理】
-- 这些稿子串联了「内容阅读 + 导师咨询」两条线:目录→会员→导师咨询。
-- 用户价值:目录+阅读进度提升内容留存;导师列表/详情支持 1v1 咨询变现;会员落地页支撑付费转化。
-- 待澄清:73 章与现有内容库是否同一套?导师与内容作者是否同一人?「案例库」是独立内容池还是章节分类?
-- 优先级建议:首页/目录/会员 > 导师列表/详情 > 资料编辑。
+从 10 个稿子可归纳出 **stitch_soul 串联「内容→会员→导师」变现路径**:
+
+- **首页**(optimized_home_content_feed_v1):品牌、搜索、最新更新、阅读进度、超级个体、精选推荐、最新新增(NEW)
+- **目录**(catalog_with_new_additions_v1):73 章、篇章结构、NEW 标签、免费/¥1 付费
+- **会员落地**(premium_membership_landing_v1):¥1980/年,内容权益(章节、案例库、智能纪要、会议纪要)+ 社交权益(匹配、排行、资源、VIP 标识)
+- **导师**:列表(搜索/分类)+ 详情(介绍/服务/价格/预约),单次咨询 ¥600~2500
+- **个人资料**:展示(基本信息/个人故事/互助需求/项目介绍)、编辑(完整表单)、手机号/微信号弹窗
+- **我的**:VIP 标识、分享收益、阅读统计、最近阅读、订单
+
+**待澄清**:73 章与现有内容库是否同一套;导师与内容作者是否同一人;「案例库」是独立内容池还是章节分类;会员权益与价格策略。
+
+**建议优先级**:首页/目录/会员 > 导师 > 资料。
### 【后端开发】
-- 需要接口:目录/章节(列表、分组、阅读进度、免费/付费/NEW)、导师(列表、详情、搜索/筛选、预约)、会员权益校验、资料(手机号、微信号、头像)。
-- 数据模型:章节、导师、会员权益、预约单、阅读进度等,需核对 soul-api 现有模型。
-- 支付/会员:会员付费、导师预约支付需与现有支付流程打通。
-- 待确认:现有 soul-api 中已有 chapter、book、vip;导师需新建或扩展现有 match 体系。
+**现有基础**:soul-api 已有 chapter、book、vip 模型;导师能力需新建或扩展现有 match 体系(现有 mentor 为 match 类型,非独立导师实体)。
+
+**待设计**:导师列表/详情/搜索筛选、预约单、会员权益与预约支付打通;接口挂 `/api/miniprogram/*`。与产品核对 chapter/book/vip 现状后,给出导师/预约/会员权益的模型与接口方案。
### 【管理端开发工程师】
-- 需要能力:章节管理(增删改、排序、免费/付费/NEW 配置)、导师管理(审核、标签、价格、展示)、会员配置(权益、价格、有效期)、预约管理(列表、状态)。
-- 接口依赖 `/api/admin/*` 与 `/api/db/*`。
-- 字段需与小程序端保持一致。
+管理端需配套:章节/导师 CRUD、NEW 标记、会员权益配置、预约单管理、收益/提现审核。接口走 `/api/admin/*`、`/api/db/*`,字段与小程序/后端一致。待后端方案确定后规划具体页面。
### 【小程序开发工程师】
-- 页面:首页、目录、导师列表/详情、会员落地页、个人资料/编辑。
-- 全部接口走 `/api/miniprogram/*`。
-- 支付:会员购买、导师预约支付需按微信支付规范实现。
+10 个稿子覆盖首页/目录/会员/导师列表/导师详情/资料展示/资料编辑/我的五类页面,交互清晰,需 `/api/miniprogram/*`。待需求与接口确定后分阶段实现。
### 【测试人员】
-- 三端联调:miniprogram ↔ soul-api、soul-admin ↔ soul-api。
-- 关键场景:阅读进度、免费/付费解锁、会员权益、导师预约与支付、资料完善与提现限制。
-- 回归:变更后需回归支付、登录、提现等现有流程。
+关键场景为阅读/付费、会员、导师预约、资料完善;三端联调(小程序↔API、管理端↔API)验证点。待需求确定后补充联调用例和回归清单。
---
## 讨论过程
-- 产品强调 73 章与现有内容需先澄清,建议产品补充正式需求文档。
-- 后端需梳理 soul-api 现有 chapter/book/vip 模型,导师能力需新建或扩展 match。
-- 前端(管理端、小程序)需统一字段约定,避免后期频繁联调。
-- 测试建议在需求确定后补充三端联调用例清单。
+- 产品询问后端:73 章、book、vip 现状是否明确。
+- 后端回复:需与产品共同核对 chapter/book/vip 后再定导师/预约/会员权益模型。
+- 管理端确认需管理章节、导师、会员、预约、收益。
+- 小程序确认页面稿清晰,等接口与需求后分阶段开发。
+- 测试:待业务规则确定后补充用例。
+
---
## 会议决议
-1. **需求池定性**:`soul20260228/stitch_soul` 作为原型/参考,需产品补充正式需求文档,明确业务规则与验收标准。
-2. **数据与接口**:后端与产品核对现有 chapter/book/vip 模型,并给出导师、预约、会员权益的模型与接口建议。
-3. **优先级**:以产品最终确认为准,建议顺序为「内容→会员→导师→资料编辑」。
-4. **待确认**:73 章与现有内容关系、导师与作者关系、「案例库」定义、会员权益与价格策略。
+1. **stitch_soul 定位**: stitch 产品线在 Soul 创业派对上的扩展,串联「内容阅读 + 会员 + 导师咨询」变现路径。
+2. **产品**:需在正式需求文档中明确 73 章、导师、案例库、会员的业务定义与验收标准。
+3. **后端**:梳理 chapter/book/vip,设计导师/预约/会员权益模型与接口方案。
+4. **开发优先级**:首页/目录/会员 > 导师列表与详情 > 资料编辑 / 我的。
+5. **待确认项**:73 章与内容库关系、导师与作者关系、案例库定义、会员权益与价格。
+6. **管理端跟进原则(已采纳)**:以后小程序有功能变更时,管理端须根据 C 端能力主动补充管理功能;后端需支持对应配置能力。**本需求示例**:导师价格 → 后端支持每个导师独立价格配置(单次/半年/年度),管理端导师编辑页提供价格配置。已写入 role-flow-control、admin-dev Skill。
---
@@ -71,65 +76,496 @@
| 责任角色 | 任务 | 优先级 | 截止建议 |
|---------|------|--------|---------|
-| 产品经理 | 产出 stitch_soul 正式需求文档,澄清 73 章/导师/案例库/会员规则 | 高 | 需求排期前 |
-| 后端开发 | 梳理 chapter/book/vip 现状,给出导师/预约/会员权益模型与接口方案 | 高 | 需求评审后 |
-| 管理端开发工程师 | 待后端方案确定后,规划章节/导师/会员/预约管理页面 | 中 | 后端接口就绪后 |
-| 小程序开发工程师 | 待需求与接口确定后,按优先级实现首页/目录/导师/会员/资料页面 | 中 | 分阶段排期 |
-| 测试人员 | 需求确定后,补充三端联调用例与回归清单 | 中 | 开发启动前 |
+| 产品经理 | 撰写 stitch_soul 正式需求文档,明确业务边界 | 高 | 3 天内 |
+| 后端工程师 | 梳理 chapter/book/vip,输出导师/预约/会员权益模型与接口方案 | 高 | 产品文档确认后 |
+| 管理端开发工程师 | 待后端方案确定后,规划章节/导师/会员/预约管理页面 | 中 | 后端方案确定后 |
+| 小程序开发工程师 | 待需求与接口确定后,分阶段实现首页/目录/会员/导师/资料 | 中 | 接口确定后 |
+| 测试人员 | 待需求确定后,补充阅读/付费/会员/导师/资料联调用例 | 中 | 需求确定后 |
---
## 问题与作答区
-> 会议中提出的待确认问题在此列出;作答区域供后续补充答案,便于追溯闭环。
-
| # | 问题 | 责任角色 | 作答 |
|---|------|---------|------|
-| 1 | 73 章与现有内容库是否同一套? | 产品经理 | (待补充) |
+| 1 | 73 章与现有内容库是否同一套? | 产品经理 | 73 章为内容章数的统计 |
+| 2 | 导师与内容作者是否同一人? | 产品经理 | 不是。导师是导师,属于咨询服务对接的人 |
+| 3 | 「案例库」是独立内容池还是章节分类? | 产品经理 | 章节分类 |
+| 4 | 会员权益与价格策略(¥1980/年、权益边界)? | 产品经理 | 会员权益:所有章节全部免费,并自动进入超级个体名单 |
+| 5 | chapter/book/vip 现有模型与业务定义? | 后端工程师 | 见下方「后端补充说明」 |
-| 2 | 导师与内容作者是否同一人? | 产品经理 | (待补充) |
+### 后端补充说明(问题 5)
-| 3 | 「案例库」是独立内容池还是章节分类? | 产品经理 | (待补充) |
+**Chapter(chapters 表)**
+- 每行 = 一节(section),`id` 为业务标识如 `1.1`、`preface`
+- `part_id` / `part_title`:篇章;`chapter_id` / `chapter_title`:章;`section_title`:节标题
+- `content`、`is_free`、`price`、`sort_order`:正文、免费/付费、价格、排序
+- 73 章 = chapters 表行数统计,与产品「73 章为内容章数」一致
-| 4 | 会员权益与价格策略如何设计? | 产品经理 | (待补充) |
+**Book**
+- 无独立表;「书」= chapters 的聚合视图
+- 接口:`/api/book/all-chapters` 返回全部 chapters,`/api/book/chapter/:id` 按 id 查单节
-| 5 | 导师能力是新建实体还是扩展现有 match 体系? | 后端开发 | (待补充) |
+**VIP**
+- `vip_roles` 表:超级个体角色配置(name、sort),供管理端下拉选择
+- `users` 表:`is_vip`、`vip_expire_date`、`vip_activated_at`、`vip_sort`、`vip_role`、`vip_name`、`vip_avatar`、`vip_project`、`vip_contact`、`vip_bio`
+- 权益判断:`is_vip=1` 且 `vip_expire_date>NOW()`;无则从 orders 兜底(product_type=`fullbook`/`vip`,pay_time+365 天)
+- 默认价格:¥1980;权益已定义在 vip.go(智能纪要、会议纪要库、案例库、链接资源、解锁全章、匹配伙伴、排行、VIP 标识)
+
+**精选推荐与热门章节(业务规则补充)**
+- **精选推荐**(首页「为你推荐」前 3 章):按正文章节阅读量从高到低排序,同量按更新时间;取前 3 章,依次标「热门」「推荐」「精选」。兜底:无阅读数据时按最近更新取 3 章;再兜底为预设固定 3 章。
+- **热门章节**(搜索页等):同上阅读量排序,取更多条(如 10 条)。兜底:无阅读数据时按购买次数;再兜底为默认列表。
+- **排除**:序言、尾声、附录不参与排序与推荐。
+- **管理端**:算法驱动,无需运营勾选「推荐」;固定兜底章节可产品预设或后台配置。
-以下是回答:
-1、73章为内容章数的统计
-2、不是。导师是导师,属于咨询服务对接的人
-3、章节分类
-4、会员1980元。
-5、后端创建导师
---
+## 实现方案讨论(基于澄清后的需求)
+> 各角色分析理解 1~5 题作答及后端补充说明后,发表实现看法。
+
+### 【产品经理】
+
+需求已厘清,可按以下 MVP 范围推进:
+
+- **73 章**:沿用 chapters 表,73 = 行数统计;「案例库」按篇章/章节分类展示即可。
+- **会员**:全章免费 + 自动进入超级个体名单;¥1980 沿用现 vip 逻辑。
+- **导师**:独立于内容作者,需新建导师实体与预约流程。
+
+**验收标准建议**:① 首页展示最新更新、阅读进度、超级个体、精选推荐、最新新增;② 目录按篇章聚合、支持 NEW 标识、免费/¥1;③ 会员落地页支付后 is_vip=1、vip_expire_date 正确;④ 导师列表可搜索筛选、详情可预约;⑤ 资料编辑保存后手机/微信号必填方可使用提现与找伙伴。
+
+### 【后端工程师】
+
+**可直接复用的**:chapters、users(含 vip 字段)、orders、vip 开通逻辑。小程序已有 `/api/miniprogram/book/*`、`/api/miniprogram/vip/*`、`/api/miniprogram/user/*`。
+
+**需新增/扩展**:
+
+1. **chapters 表**:新增 `is_new`(或类似字段)支持 NEW 标签;若无则用 `created_at` 近 N 天判断。
+2. **首页聚合**:`book/latest-chapters` 已有;可新增 `book/recommended`(精选)、首页「最新新增」复用 latest 按时间筛。
+3. **导师模块**:新建 `mentors` 表(头像、姓名、简介、技能标签、价格、服务内容、判断风格等);新建 `mentor_consultations`(预约单:user_id、mentor_id、时间、状态、支付);接口:`GET/POST /api/miniprogram/mentors`(列表/详情/预约)。
+4. **个人资料扩展**:users 表可扩展 `story_*`、`help_offer`、`help_need`、`project_intro` 等;或新建 `user_profiles` 关联 users。编辑接口扩展现有 `user/profile`。
+
+**实施顺序**:① 章节 NEW 标记 + 首页/目录所需接口补齐 → ② 会员落地(现 vip 已够)→ ③ 导师表 + 预约接口 → ④ 资料扩展。
+
+### 【管理端开发工程师】
+
+**可复用**:章节管理(admin/chapters、db/book)、用户/VIP 管理(db/users、db/vip-roles)。
+
+**需新增**:
+
+1. **导师管理**:`/api/admin/mentors` 或 `/api/db/mentors`,CRUD + 上下架;依赖后端 mentors 表。
+2. **预约管理**:`/api/admin/mentor-consultations`,列表、状态筛选、导出。
+3. **章节 NEW**:若 chapters 新增 is_new,管理端章节编辑页增加「标记 NEW」勾选。
+4. **会员**:现 db/users 已支持 Set VIP;权益文案可配置化(若后续需要)。
+
+**实施顺序**:待后端 mentors、consultations 表与接口就绪后,再开发导师管理、预约管理页面;章节 NEW 可与后端同步上线。
+
+### 【小程序开发工程师】
+
+**可复用**:首页(index)、目录(catalog)、VIP 页(vip)、个人中心(profile)、支付流程。现有 `book/all-chapters`、`vip/status`、`user/profile`、`pay` 等已覆盖基础能力。
+
+**需新增/改造**:
+
+1. **首页**:按稿子接入「最新更新」「精选推荐」「最新新增」;`book/latest-chapters`、`book/hot` 已有,需确认 recommended 接口;超级个体复用 `vip/members`。
+2. **目录**:按 part 聚合、展示 NEW、免费/¥1;数据源 `book/all-chapters`,NEW 依赖后端字段或策略。
+3. **会员落地**:新页或改造 vip 页,权益展示 + 购买按钮,支付走现 `pay`。
+4. **导师**:新页「选择导师」「导师详情」,接入 `mentors` 列表/详情/预约接口。
+5. **资料编辑**:扩展表单字段(个人故事、互助需求、项目介绍)、手机/微信号弹窗(稿子 comprehensive_profile_editor_v1_2)。
+
+**实施顺序**:① 首页/目录 UI 与数据对接 → ② 会员落地 → ③ 导师列表+详情 → ④ 资料编辑扩展。
+
+### 【测试人员】
+
+**核心场景**:
+
+1. **阅读/付费**:免费节直接读;付费节未购/VIP 不可读;VIP 全章可读;单节购买与 VIP 购买互不冲突。
+2. **会员**:开通后 is_vip、vip_expire_date 正确;超级个体名单可见;权益生效。
+3. **导师**:列表搜索/筛选、详情展示、预约创建、支付(若预约收费)。
+4. **资料**:编辑保存成功;手机/微信号未填时提现、找伙伴应拦截并引导弹窗。
+
+**联调**:小程序↔API(book、vip、user、mentors);管理端↔API(chapters、mentors、consultations)。
+
+**实施顺序**:接口就绪后补充用例;优先阅读/会员,再导师、资料。
+
+### 实现路线图(共识)
+
+| 阶段 | 后端 | 管理端 | 小程序 | 测试 |
+|-----|------|-------|--------|------|
+| **P0** | chapters 支持 NEW;book/latest、book/recommended 确认或补齐 | 章节编辑支持 NEW | 首页/目录 UI 与数据对接 | 阅读/会员用例 |
+| **P1** | 会员沿用现 vip;无新增接口 | — | 会员落地页 | 会员开通验收 |
+| **P2** | mentors 表 + consultations 表;列表/详情/预约接口 | 导师 CRUD、预约列表 | 导师列表+详情+预约 | 导师预约流程 |
+| **P3** | users 扩展或 user_profiles;profile 接口扩展 | — | 资料编辑扩展、手机/微弹窗 | 资料+拦截校验 |
+
+**启动条件**:产品确认 MVP 范围与验收标准后,后端先输出 P0 接口方案,管理端/小程序按路线图跟进。
+
+---
+
+## 各开发对新需求的看法
+
+### 【后端开发】
+
+需求清晰,与现有 chapter/book/vip 模型兼容度高,可复用为主、增量开发。导师和资料扩展是主要新增点,技术风险可控。建议产品尽早确认 P2 导师价格配置方式(固定/可配置)、预约状态流转,便于接口设计。
+
+### 【管理端开发工程师】
+
+见下方「管理端建设性与补充说明」。
+
+### 【小程序开发工程师】
+
+稿子完整、交互明确,实现难度主要在数据对接和组件复用。首页/目录 P0 已落地;会员、导师、资料按阶段推进即可。建议后端接口响应格式稳定后再做样式微调,减少返工。
+
+### 【测试人员】
+
+场景边界清楚,可分批补充用例。需关注:导师预约与支付的联调、资料未填时的拦截逻辑、会员与单节购买的权益优先级。
+
+---
+
+## 管理端建设性与补充说明(基于小程序需求)
+
+> 管理端对应小程序各模块,除基础 CRUD 外,建议补充以下能力以更好支持运营与数据闭环。
+
+| 小程序模块 | 管理端基础能力 | 建设性补充 | 说明 |
+|-----------|----------------|------------|------|
+| **首页/目录** | 章节 NEW 标记 | ① 精选推荐固定兜底章节配置
② 章节阅读量/点击数据看板 | 算法兜底可运营配置;运营需看到哪些章节受欢迎 |
+| **会员落地** | 用户 VIP 开通 | ① 会员权益文案配置化
② 会员开通/续费统计 | 权益文案可随活动调整;统计支撑运营决策 |
+| **导师/预约** | 导师 CRUD、预约列表 | ① 导师排序/推荐位
② 咨询项目与价格配置
③ 预约数据统计(按导师/按时间) | 小程序列表顺序可运营控制;价格可调;数据支撑导师运营 |
+| **我的/分享收益** | (若已有收益逻辑) | ① 收益明细与分润规则配置
② 提现审核流程 | 小程序有分享收益、可提现金额,管理端需审核与配置 |
+| **个人资料** | — | ① 用户资料完善率统计
② (若涉及敏感)资料审核 | 支撑找伙伴匹配质量;可选能力 |
+
+### 管理端补充优先级建议
+
+| 优先级 | 补充项 | 与小程序关联 |
+|--------|--------|--------------|
+| 高 | 导师排序/推荐位、咨询项目价格配置 | 小程序导师列表展示顺序、v2 弹窗价格 |
+| 高 | 精选推荐兜底章节配置 | 小程序首页精选推荐无数据时的展示 |
+| 中 | 会员权益文案配置、开通统计 | 小程序会员落地页权益展示 |
+| 中 | 预约数据统计 | 导师运营效果评估 |
+| 低 | 资料完善率、提现审核 | 找伙伴质量、收益闭环 |
+
+---
+
+## 开发协作方案
+
+> 各开发角色如何协作、谁先谁后、交接点、并行与串行。
+
+### 协作总原则
+
+- **产品先行**:MVP 范围与验收标准确定后,开发方可启动。
+- **后端先行**:接口契约先出,小程序/管理端再对接。
+- **分阶段接力**:按 P0→P1→P2→P3 推进,每阶段有明确交付与验收。
+- **接口契约**:后端每阶段输出接口文档(路径、请求/响应、字段),前端按契约开发。
+
+### 阶段内协作时序
+
+```
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ P0:首页/目录 + NEW 标记 │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+
+ 产品确认 MVP 与验收
+ │
+ ▼
+ 【后端】输出 P0 接口契约
+ · chapters 是否新增 is_new?若否,说明「最新新增」判定规则(如 created_at 近 7 天)
+ · book/latest-chapters、book/recommended 响应格式
+ · book/all-chapters 是否返回 is_new 或等价信息
+ │
+ ├──────────────────────────┬──────────────────────────┐
+ ▼ ▼ ▼
+ 【后端】实现 P0 接口 【管理端】章节编辑支持 NEW 【小程序】首页/目录 UI
+ (迁移脚本 + handler) (依赖 chapters 结构) (按契约 Mock 或直连)
+ │ │ │
+ └──────────────────────────┴──────────────────────────┘
+ │
+ ▼
+ 【测试】阅读/会员用例补充 ──► 联调验证 ──► P0 验收
+```
+
+```
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ P1:会员落地 │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+
+ 无新接口,沿用现 vip 与 pay
+ │
+ ▼
+ 【小程序】会员落地页(权益展示 + 购买按钮)
+ │
+ ▼
+ 【测试】会员开通验收 ──► P1 验收
+```
+
+```
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ P2:导师 + 预约 │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+
+ 【后端】输出 P2 接口契约
+ · mentors 表结构、字段
+ · mentor_consultations 表结构、状态流转
+ · GET/POST /api/miniprogram/mentors(列表/详情/预约)
+ · GET/POST /api/admin/mentors、/api/admin/mentor-consultations
+ │
+ ├──────────────────────────┬──────────────────────────┐
+ ▼ ▼ ▼
+ 【后端】实现 mentors + 预约接口 【管理端】导师 CRUD、预约列表 【小程序】导师列表+详情+预约
+ (迁移 + 小程序接口 + admin 接口) (依赖 admin 接口) (按契约对接)
+ │ │ │
+ └──────────────────────────┴──────────────────────────┘
+ │
+ ▼
+ 【测试】导师预约流程 ──► 三端联调 ──► P2 验收
+```
+
+```
+┌─────────────────────────────────────────────────────────────────────────────────────┐
+│ P3:资料编辑扩展 │
+└─────────────────────────────────────────────────────────────────────────────────────┘
+
+ 【后端】输出 P3 接口契约
+ · users 扩展字段 或 user_profiles 表
+ · user/profile 接口扩展(个人故事、互助需求、项目介绍、手机、微信号)
+ · 提现/找伙伴入口的「手机/微未填」校验规则
+ │
+ ├──────────────────────────┐
+ ▼ ▼
+ 【后端】实现 profile 扩展 【小程序】资料编辑扩展、弹窗
+ │ │
+ └──────────────────────────┘
+ │
+ ▼
+ 【测试】资料 + 拦截校验 ──► P3 验收
+```
+
+### 角色职责与交接
+
+| 角色 | 职责 | 交接给谁 | 交接物 |
+|------|------|----------|--------|
+| **产品** | 确认 MVP、验收标准;P0 前完成 | 全体 | 需求文档(或会议纪要中验收部分) |
+| **后端** | 每阶段输出接口契约并实现 | 管理端、小程序、测试 | 接口文档(路径、字段、示例) |
+| **管理端** | P0 章节 NEW;P2 导师/预约管理 | 测试 | 可用的管理端页面 |
+| **小程序** | P0~P3 按阶段实现 C 端页面 | 测试 | 可联调的小程序 |
+| **测试** | 每阶段补充用例、联调验收 | 产品 | 验收报告 |
+
+### 并行与串行
+
+| 关系 | 说明 |
+|------|------|
+| **产品 → 后端** | 串行:产品确认后,后端才能定方案 |
+| **后端 → 管理端/小程序** | 串行开头:接口契约出后才能开发;契约出后可并行 |
+| **管理端 ↔ 小程序** | 并行:同阶段内各自对接各自接口,无互相依赖 |
+| **P0 ↔ P1** | P1 可早于 P0 完成(会员无新接口);但建议 P0 先验收再开 P2 |
+| **P2 管理端** | 依赖后端 mentors 接口;可与小程序并行,但都等后端 |
+
+### 沟通节点
+
+| 节点 | 参与 | 目的 |
+|------|------|------|
+| 需求确认会 | 产品 + 全体 | 定 MVP、验收标准 |
+| P0 接口评审 | 后端 + 管理端 + 小程序 | 确认 chapters is_new、book 接口格式 |
+| P2 接口评审 | 后端 + 管理端 + 小程序 | 确认 mentors、consultations 模型 |
+| 每阶段联调 | 后端 + 管理端 + 小程序 + 测试 | 验证功能、过 checklist |
+| 阻塞时 | 阻塞方 + 被依赖方 | 快速澄清、调整契约 |
+
+### 协作 checklist(每阶段结束前)
+
+- [ ] 后端:接口已挂到正确路由组,文档已更新
+- [ ] 管理端:仅用 `/api/admin/*`、`/api/db/*`,字段与接口一致
+- [ ] 小程序:仅用 `/api/miniprogram/*`,错误处理完整
+- [ ] 测试:用例已补充,联调通过
+- [ ] 全体:过 soul-change-checklist
+
+---
## 各角色经验与业务理解更新
+本次会议结论已同步至各角色 `agent/{角色}/evolution/2026-02-28.md`。
+
### 产品经理
-- stitch_soul 串联「内容→会员→导师」变现路径;73 章、导师、案例库、会员需在需求文档中明确定义。
+- stitch_soul 串联「内容→会员→导师」变现路径;临时需求池 10 个稿子覆盖完整流程;需在正式需求文档中明确业务定义与验收标准。
### 后端开发
-- soul-api 已有 chapter、book、vip;导师能力需新建或扩展现有 match 体系;预约、会员权益需与支付打通。
+- 需新建或扩展导师实体;现有 chapter/book/vip 可与产品核对后复用;接口挂 `/api/miniprogram/*`。
### 管理端开发工程师
-- 需支撑章节、导师、会员、预约的 CRUD 与配置,字段与 miniprogram 端统一。
+- 需管理章节、导师、会员、预约、收益;待后端方案确定后规划管理页面。
### 小程序开发工程师
-- 首页/目录/导师/会员/资料五类页面,全部走 `/api/miniprogram/*`,支付走微信支付。
+- 首页/目录/会员/导师/资料五类页面;待需求与接口确定后分阶段实现。
### 测试人员
-- 阅读进度、免费/付费、会员权益、导师预约与支付、资料完善与提现限制为关键联调场景。
+- 关键场景:阅读/付费/会员/导师预约/资料;待需求确定后补充联调用例。
### 团队共享
-- stitch_soul 为 stitch 产品线在 Soul 创业派对上的扩展,需与现有 soul-api/soul-admin/miniprogram 架构协同,避免混用 admin/miniprogram 路由。
+- stitch_soul 与现有三端架构协同;路由约定保持不变:小程序 `/api/miniprogram/*`,管理端 `/api/admin/*`、`/api/db/*`。
+
+---
+
+---
+
+## 开发团队重新分析:怎么实现(可执行方案)
+
+> 在问题 1~5 作答、精选推荐算法、实现路线图基础上,结合现有代码梳理出的可执行实现方案。
+
+### 现状与差异
+
+| 能力 | 现状 | 与需求差异 |
+|------|------|------------|
+| 精选推荐 / 热门 | `book/hot` 按 sort_order 取 10 条 | 需按**阅读量**排序;排除序言/尾声/附录;精选取 3 条并打「热门/推荐/精选」 |
+| 最新更新 / 最新新增 | `book/latest-chapters` 按 updated_at 取 20 条;**未挂 miniprogram** | 需挂到 miniprogram;「最新新增」可复用或加 is_new 筛选 |
+| 目录 NEW | chapters 无 is_new | 需新增 is_new 或按 created_at 近 N 天 |
+| 会员 | vip + pay 已有 | 无差异 |
+| 导师 | 无 | 需新建 mentors、consultations |
+| 资料扩展 | user/profile 有基础字段 | 需扩展 story/help_offer/help_need/project_intro |
+
+### 分阶段实现清单(可执行)
+
+#### P0:首页/目录 + NEW + 精选推荐算法
+
+| 序号 | 角色 | 动作 | 产出 |
+|-----|------|------|------|
+| P0-1 | 后端 | chapters 表新增 `is_new`(bool);迁移脚本 + AutoMigrate | 字段可用 |
+| P0-2 | 后端 | `book/hot` 改为按阅读量排序:从 reading_progress 按 section_id 分组 count;兜底按 updated_at;排除 part 含「序言/尾声/附录」 | 符合算法 |
+| P0-3 | 后端 | 新增 `book/recommended`:同 hot 逻辑,取前 3 条,返回时带 tag(热门/推荐/精选) | 首页精选用 |
+| P0-4 | 后端 | `book/latest-chapters` 挂到 miniprogram 组 | 小程序可调 |
+| P0-5 | 后端 | `book/all-chapters` 响应中每章带 `isNew` | 目录 NEW 展示 |
+| P0-6 | 管理端 | 章节编辑页增加「标记 NEW」勾选 | 运营可配置 |
+| P0-7 | 小程序 | 首页:最新更新(latest)、精选推荐(recommended)、最新新增(all-chapters 筛 isNew)、超级个体(vip/members)、阅读进度(已有) | 首页按稿子完成 |
+| P0-8 | 小程序 | 目录:按 part 聚合、展示 NEW、免费/¥1 | 目录按稿子完成 |
+| P0-9 | 测试 | 阅读/会员用例;精选推荐取数、NEW 展示 | 联调通过 |
+
+**阅读量数据来源**:`reading_progress` 表按 `section_id` 分组 count;若无数据则用兜底(updated_at 或固定 3 章)。
+
+#### P1:会员落地
+
+| 序号 | 角色 | 动作 | 产出 |
+|-----|------|------|------|
+| P1-1 | 小程序 | 会员落地页(权益展示 + ¥1980 购买),支付走现 pay | 可开通会员 |
+| P1-2 | 测试 | 会员开通验收 | 通过 |
+
+#### P2:导师 + 预约
+
+| 序号 | 角色 | 动作 | 产出 |
+|-----|------|------|------|
+| P2-1 | 后端 | 新建 mentors 表(**支持每个导师独立价格配置**:单次/半年/年度)、mentor_consultations 表;迁移脚本 | 表就绪 |
+| P2-2 | 后端 | `GET/POST /api/miniprogram/mentors`(列表/详情/预约,价格从导师配置读取);`GET/POST /api/admin/mentors`、`/api/admin/mentor-consultations` | 接口可用 |
+| P2-3 | 管理端 | 导师管理 CRUD、**导师价格配置(每个导师独立)**、预约列表(状态筛选、导出) | 可管理导师 |
+| P2-4 | 小程序 | 导师列表、导师详情、**联系导师按钮点击 → 弹出 v2 弹窗(选择咨询项目)**、预约入口 | 可预约 |
+| P2-5 | 测试 | 导师预约流程 | 联调通过 |
+
+#### P3:资料编辑扩展
+
+| 序号 | 角色 | 动作 | 产出 |
+|-----|------|------|------|
+| P3-1 | 后端 | users 扩展 story_best_month、story_achievement、story_turning、help_offer、help_need、project_intro;或新建 user_profiles | 字段可用 |
+| P3-2 | 后端 | `user/profile` 接口读写扩展字段;提现/找伙伴入口校验手机/微 | 接口可用 |
+| P3-3 | 小程序 | 资料编辑扩展表单;手机/微未填时弹窗并拦截提现/找伙伴;**我的页头像资料卡片加「编辑」图标 → 跳转个人资料展示页** | 符合稿子 |
+| P3-4 | 测试 | 资料保存、拦截校验 | 通过 |
+
+### 接口契约速查(后端输出后可据此开发)
+
+**P0**
+
+- `GET /api/miniprogram/book/recommended` → `{ data: [{ id, mid, sectionTitle, partTitle, tag: "热门"|"推荐"|"精选", ... }] }`
+- `GET /api/miniprogram/book/hot` → 同算法,limit 10,无 tag
+- `GET /api/miniprogram/book/latest-chapters` → 新增挂载
+- `GET /api/miniprogram/book/all-chapters` → 每项增加 `isNew`
+
+**P2**
+
+- `GET /api/miniprogram/mentors?q=&skill=` → 列表(含每导师价格,从配置读取)
+- `GET /api/miniprogram/mentors/:id` → 详情(含单次/半年/年度价格,从配置读取)
+- `POST /api/miniprogram/mentors/:id/book` → 预约
+- 后端 mentors 表/模型:支持 `price_single`、`price_half_year`、`price_year` 等按导师配置;管理端 PUT `/api/admin/mentors` 或 db 接口支持写入
+
+**P3**
+
+- `user/profile` 请求/响应增加 story_*、help_offer、help_need、project_intro
+
+### 实施顺序(单人在多端开发时)
+
+1. 产品确认 MVP 与验收标准(可复用会议纪要)。
+2. 后端完成 P0-1~P0-5,输出接口契约 → 管理端 P0-6、小程序 P0-7~P0-8 并行。
+3. P0 联调验收后,P1 小程序独立完成。
+4. 后端 P2-1~P2-2 → 管理端 P2-3、小程序 P2-4 并行。
+5. 后端 P3-1~P3-2 → 小程序 P3-3。
+
+---
+
+## 附录:页面重构专项会议(设计稿全覆盖 10 张图)
+
+> **触发**:用户要求读取 stitch_soul 全部图片并开会,明确涉及「页面重构」的需求;此前会议未逐张覆盖设计稿。
+
+---
+
+### 各角色发言(页面重构专项)
+
+**【产品经理】**
+10 张稿子覆盖 8 类页面:首页、目录、会员落地、我的(VIP+收益)、个人资料展示、资料编辑(完整+弹窗)、导师列表、导师详情(含咨询选择弹窗)。页面重构优先级:首页/目录(P0 已有)→ 会员落地(P1)→ 导师(P2)→ 资料展示与编辑(P3)。需澄清:找伙伴高亮逻辑、导师详情 v1/v2 与弹窗关系、我的页与个人资料的跳转关系。
+
+**【后端开发】**
+页面重构主要影响前端;后端需配合:P2 导师列表/详情/预约接口返回的字段需支撑卡片展示(头像、简介、标签数组、价格);P3 资料扩展字段需覆盖个人故事、互助需求、项目介绍。接口契约与现有实现方案一致。
+
+**【管理端开发工程师】**
+管理端无对应设计稿,但导师管理、预约列表、章节 NEW 勾选等页面需与小程序风格一致(深色主题、标签样式)。可参考 stitch_soul 的组件规范做管理端组件库扩展。
+
+**【小程序开发工程师】**
+10 张稿子结构清晰,适合组件化:权益卡片、标签、弹窗、底部按钮、数据统计卡片可抽成通用组件。深色主题需统一定义变量。首页、目录 P0 已完成;会员落地、导师、资料按阶段推进时需严格按稿子还原布局与交互。
+
+**【测试人员】**
+页面重构验收重点:① 各页面与设计稿一致性(布局、颜色、标签);② 弹窗触发时机(手机/微未填、咨询选择);③ 深色主题在小程序中的表现;④ 组件复用时样式无错乱。
+
+---
+
+### 设计稿清单与重构识别
+
+> 基于对 stitch_soul 下 **全部 10 张 design 图片** 的逐张阅读,补充「页面重构」识别与组件化建议。此前会议未逐张覆盖,本节补齐。
+
+### 设计稿清单与重构识别
+
+| # | 目录 | 页面类型 | 页面重构要点 | 映射阶段 |
+|---|------|----------|--------------|----------|
+| 1 | `optimized_home_content_feed_v1` | 首页内容流 | **布局**:顶部品牌+搜索→最新更新大卡片→阅读进度→超级个体→精选推荐→最新新增;**组件**:搜索框、大卡片、进度条、头像列表、内容卡片、NEW 标签;**交互**:展开/折叠、价格 ¥1 | P0 |
+| 2 | `catalog_with_new_additions_v1` | 目录 | **布局**:书籍概览卡片→按 part 可展开/折叠列表;**组件**:免费/NEW/¥1 标签、章节列表项、折叠箭头;**主题**:深色模式;**交互**:找伙伴图标高亮(动态状态) | P0 |
+| 3 | `premium_membership_landing_v1` | 会员落地页 | **布局**:导航→VIP 宣传区→内容权益 4 卡 + 社交权益 4 卡(双列)→底部固定按钮;**组件**:权益卡片(图标+文字)、¥1980 按钮;**色彩**:绿/黄/橙强调色;**需提取**:权益卡片通用组件 | P1 |
+| 4 | `professional_profile_with_earnings_vip` | 我的(VIP+收益) | **布局**:用户区(VIP 徽章、会员/匹配/排行标签、到期时间)→分享收益→阅读统计→最近阅读→我的订单/关于作者;**组件**:数据卡片、统计三列、最近阅读项;**状态**:VIP、收益、可提现 | P1/P3 |
+| 5 | `enhanced_professional_profile` | 个人资料展示 | **布局**:头像+昵称+MBTI/地区→基本信息→个人故事→互助需求→项目介绍→「成为超级个体」;**组件**:卡片分组、复制按钮、奖杯/星星/循环图标;**动态内容**:故事/需求长度不固定 | P3 |
+| 6 | `comprehensive_profile_editor_v1_1` | 资料编辑(完整版) | **布局**:温馨提示→头像→基本信息→核心联系方式→个人故事→互助需求→项目介绍→保存;**组件**:表单输入、下拉、地区图钉、多行文本;**样式**:深色主题,浅绿强调 | P3 |
+| 7 | `comprehensive_profile_editor_v1_2` | 资料编辑(弹窗) | **组件**:居中弹窗,手机号/微信号输入、保存/取消;**触发**:提现/找伙伴入口时手机或微信号未填;**需设计**:弹窗触发时机、必填校验 | P3 |
+| 8 | `mentor_listing_screen` | 导师列表 | **布局**:搜索→筛选标签→推荐导师列表;**组件**:导师卡片(头像、姓名、简介、标签、价格、预约);**数据**:需头像、姓名、简介、标签数组、价格、ID | P2 |
+| 9 | `mentor_detail_profile_1` | 导师详情 v1 | **布局**:头像+姓名+理念+引言→01 为什么找→02 提供什么→03 收费标准→04 判断风格→联系导师;**组件**:编号区块、标签组、收费表格、划线价;**强调色**:青色 | P2 |
+| 10 | `mentor_detail_profile_2` | 导师详情 v2(咨询选择弹窗) | **组件**:居中弹窗,单选(单次/半年/年度)、原价划掉、推荐标签、确认选择;**背景**:模糊的「我的」页;**复用**:可与会员/购买类弹窗共用模式 | P2 |
+
+### 跨稿子组件抽取建议
+
+| 组件 | 复用页面 | 说明 |
+|------|----------|------|
+| 权益卡片 | 会员落地、导师详情 | 图标+标题+描述,圆角深灰背景 |
+| 标签(Tag) | 目录、导师列表、导师详情、个人资料 | 免费/NEW/¥1、技能标签、MBTI/地区 |
+| 弹窗(手机/微、咨询选择) | 资料编辑、导师详情 | 居中圆角、输入/单选、保存/确认+取消 |
+| 底部固定按钮 | 会员落地、导师详情、资料编辑 | 宽按钮、主色填充 |
+| 数据统计卡片 | 我的、阅读进度 | 多列数字+图标+说明 |
+| 头像+昵称+标签区 | 个人资料、超级个体、导师 | 圆形头像、下方标签 |
+
+### 深色主题与色彩体系(统一约束)
+
+- **主色**:深黑/深灰背景,白/浅灰文字
+- **强调色**:绿色(主 CTA、VIP)、黄色(会员、推荐)、橙色(社交权益、部分标签)、青色(导师详情)
+- **一致性**:所有 10 张稿均为深色模式,重构时需统一定义 CSS 变量或主题配置
+
+### 待确认(页面重构相关)— 已澄清
+
+| # | 问题 | 作答 |
+|---|------|------|
+| 1 | 底部导航「找伙伴」高亮逻辑? | **不用改**,保持现状 |
+| 2 | 导师详情 v1 与 v2 弹窗关系? | **导师详情 v1** 点击下方「联系导师」按钮 → 弹出 **v2 弹窗**(选择咨询项目) |
+| 3 | 「我的」页与「个人资料展示」的跳转? | **我的**页头像资料卡片增加「编辑」图标,点击进入**个人资料展示页**(enhanced_professional_profile) |
---
diff --git a/.cursor/meeting/README.md b/.cursor/meeting/README.md
index 0382ab73..bd568982 100644
--- a/.cursor/meeting/README.md
+++ b/.cursor/meeting/README.md
@@ -59,4 +59,5 @@ YYYY-MM-DD_会议主题.md
| 日期 | 主题 | 参与角色 | 文件 |
|------|------|---------|------|
| 2026-02-27 | 开发进度同步会议 | 产品、后端、管理端、小程序 | [2026-02-27_开发进度同步会议.md](2026-02-27_开发进度同步会议.md) |
-| 2026-02-28 | 临时需求池 stitch_soul 需求评审 | 产品、后端、管理端、小程序、测试 | [2026-02-28_临时需求池stitch_soul需求评审.md](2026-02-28_临时需求池stitch_soul需求评审.md) |
+| 2026-02-28 | 临时需求池 stitch_soul 需求评审(含页面重构专项·10 张图全覆盖) | 产品、后端、管理端、小程序、测试 | [2026-02-28_临时需求池stitch_soul需求评审.md](2026-02-28_临时需求池stitch_soul需求评审.md) |
+| 2026-02-28 | 个人资料页实现评估(profile-show / profile-edit) | 产品、后端、管理端、小程序、测试 | [2026-02-28_个人资料页实现评估.md](2026-02-28_个人资料页实现评估.md) |
diff --git a/.cursor/skills/admin-dev/SKILL.md b/.cursor/skills/admin-dev/SKILL.md
index dbee184e..b813b3ca 100644
--- a/.cursor/skills/admin-dev/SKILL.md
+++ b/.cursor/skills/admin-dev/SKILL.md
@@ -93,7 +93,18 @@ description: Soul 创业派对管理端开发规范。在 soul-admin/ 下编辑
---
-## 7. 何时使用本 Skill
+## 7. 小程序变更驱动的管理端补充(必守)
+
+> **小程序有功能变更时,管理端须根据 C 端能力主动补充管理功能。**
+
+- **触发**:小程序新增/优化任何可配置、可运营的功能(如价格、推荐位、文案、审核流等)
+- **动作**:管理端开发工程师分析该功能在后台需要哪些配置、审核、统计,并输出管理端需求
+- **后端配合**:需为每个可配置项设计对应的 admin/db 接口(如每个导师独立价格配置)
+- **示例**:导师价格 → 后端 mentors 表支持按导师配置价格;管理端导师编辑页增加价格字段
+
+---
+
+## 8. 何时使用本 Skill
- 在 **soul-admin/** 下新增或修改页面、组件、API 调用时。
- 在管理端新增任何网络请求时(必须仅使用 admin/db 等管理端路径)。
diff --git a/.cursor/skills/miniprogram-dev/SKILL.md b/.cursor/skills/miniprogram-dev/SKILL.md
index ff027dba..83e55f0c 100644
--- a/.cursor/skills/miniprogram-dev/SKILL.md
+++ b/.cursor/skills/miniprogram-dev/SKILL.md
@@ -60,8 +60,10 @@ description: Soul 创业派对小程序开发规范。在 miniprogram/ 下编辑
## 6. 表单与输入框
-- **输入框 padding**:设置 padding、背景、边框时,用 `` 包裹 ``;padding/背景/边框写在 view 上,input 设置 `width: 100%`、`font-size`、`color`、`background: transparent`。可避免光标截断、布局异常。
-- **示例**:``,`.form-input { padding: 16rpx 24rpx; ... }`,`.form-input input { width: 100%; font-size: 28rpx; ... }`
+- **input / textarea padding**:给 `` 或 `