From c3de123ef8b5e971888739999816d13d4f78bd4d Mon Sep 17 00:00:00 2001 From: Alex-larget <33240357+Alex-larget@users.noreply.github.com> Date: Mon, 9 Mar 2026 11:53:49 +0800 Subject: [PATCH] 1 --- .cursor/agent/团队/evolution/2026-03-08.md | 20 ++++++++++++++++ .cursor/agent/开发助理/项目索引/团队.md | 3 ++- 开发文档/10、项目管理/运营与变更.md | 27 ++++++++++++++++++++++ 开发文档/1、需求/需求汇总.md | 1 + 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 .cursor/agent/团队/evolution/2026-03-08.md diff --git a/.cursor/agent/团队/evolution/2026-03-08.md b/.cursor/agent/团队/evolution/2026-03-08.md new file mode 100644 index 00000000..ef457126 --- /dev/null +++ b/.cursor/agent/团队/evolution/2026-03-08.md @@ -0,0 +1,20 @@ +# 团队共享 经验记录 - 2026-03-08 + +## 文章阅读付费规则澄清与后端修复 + +### 业务规则(全团队共识) + +1. **非会员专属文章**:免费,无需登录/付费;以管理端「系统设置 → 免费章节」配置为准 +2. **VIP 会员**:开通 VIP 后,所有文章免费阅读;`check-purchased` 按 `is_vip=1` 且 `vip_expire_date>NOW` 返回 `isPurchased: true` + +### 技术实现 + +- **免费章节**:soul-api `book.go` 从 `system_config.free_chapters` 或 `chapter_config.freeChapters` 读取,优先于 chapters 表 +- **VIP 全章免费**:`user.go` 的 `UserCheckPurchased` 已实现,无需改动 + +### 影响角色 + +- 后端:book.go 变更,部署后需重启 +- 管理端:确保免费章节配置正确 +- 产品:作为验收规则 +- 小程序:无变更 diff --git a/.cursor/agent/开发助理/项目索引/团队.md b/.cursor/agent/开发助理/项目索引/团队.md index 8dd82ece..26f63d34 100644 --- a/.cursor/agent/开发助理/项目索引/团队.md +++ b/.cursor/agent/开发助理/项目索引/团队.md @@ -16,9 +16,10 @@ Soul 创业派对全项目架构与约定:路由隔离(miniprogram/admin/db |------|------|------| | 2026-02-27 | 项目索引初始化;团队经验库目录建立 | 已完成 | | 2026-02-28 | stitch_soul 需求评审:内容→会员→导师变现路径,需与现有三端架构协同 | 已完成 | +| 2026-03-08 | 文章阅读付费规则澄清:免费章节以 free_chapters 为准;VIP 全章免费;后端 book.go 合并配置修复 | 已完成 | > **格式说明**:每次架构级讨论后在此追加一行,日期格式 YYYY-MM-DD --- -**最后更新**:2026-02-28 +**最后更新**:2026-03-08 diff --git a/开发文档/10、项目管理/运营与变更.md b/开发文档/10、项目管理/运营与变更.md index 75e9ec67..e9b4d7f6 100644 --- a/开发文档/10、项目管理/运营与变更.md +++ b/开发文档/10、项目管理/运营与变更.md @@ -144,6 +144,33 @@ VIP 接口、章节推荐逻辑、数据库依赖 --- +## 文章阅读付费规则澄清与后端修复(2026-03-08 橙子同步) + +### 业务规则(全角色必知) + +| 规则 | 说明 | +|------|------| +| **非会员专属文章** | 免费,无需登录/付费;以管理端「系统设置 → 免费章节」配置为准 | +| **VIP 会员** | 开通 VIP 后,所有文章免费阅读;`check-purchased` 按 `is_vip=1` 且 `vip_expire_date>NOW` 返回已购买 | + +### 本次修复 + +- **问题**:非会员专属文章出现付费墙,用户反馈「不是开通会员的不用付费」 +- **根因**:章节接口只返回 chapters 表 `is_free`/`price`,未合并 `system_config.free_chapters` / `chapter_config.freeChapters` 配置 +- **修复**:soul-api `internal/handler/book.go` 新增 `getFreeChapterIDs()`,在 `findChapterAndRespond`、`BookAllChapters` 返回时优先按配置覆盖 `isFree=true`、`price=0` +- **前端**:无需改动,小程序仍按章节接口返回的 `isFree`/`price` 判断 + +### 各角色注意 + +| 角色 | 注意点 | +|------|--------| +| **管理端** | 确保「系统设置 → 免费章节」配置正确,写入 `free_chapters` 或 `chapter_config.freeChapters` | +| **后端** | 部署后重启 soul-api;章节接口逻辑见 `book.go` | +| **产品** | 上述业务规则作为正式规则,验收时按此执行 | +| **小程序** | 无变更,逻辑由后端统一保证 | + +--- + # 第七部分:开发进度同步(2026-02-27 橙子) ## 三端开发进度汇报 diff --git a/开发文档/1、需求/需求汇总.md b/开发文档/1、需求/需求汇总.md index 190e197c..72d6face 100644 --- a/开发文档/1、需求/需求汇总.md +++ b/开发文档/1、需求/需求汇总.md @@ -37,3 +37,4 @@ IP 设定、风格、输出规范(见原卡若角色设定)。 | 2026-02 | VIP 设置入口拆分:用户列表「设置 VIP」按钮 + 独立弹窗 | 已完成 | UserDetailModal 移除 VIP 区块;SetVipModal 独立 | | 2026-02 | VIP 排序:后付款/后设置在前;支持手动排序 | 已完成 | vip_activated_at、vip_sort;VipMembers 排序逻辑 | | 2026-02 | VIP 角色:可选择 + 可手动填写 | 已完成 | vip_roles 表;VIP 角色管理页;SetVipModal 角色下拉 | +| 2026-03-08 | 文章阅读付费规则:免费章节以 free_chapters 为准;VIP 全章免费 | 已完成 | soul-api book.go 合并 free_chapters;check-purchased 已支持 VIP |