- 后端: users表新增VIP字段, 4个VIP API (purchase/status/profile/members) - 后端: hot接口改按user_tracks阅读量排序 - 后端: orders表支持vip产品类型, migrate新增vip_fields迁移 - 小程序「我的」: 推广中心改为我的收益, 头像VIP标识, VIP入口卡片 - 小程序「我的」: 最近阅读显示真实章节名称 - 小程序首页: 去掉内容概览, 新增创业老板排行(4列网格) - 小程序首页: 精选推荐从hot接口获取, goToRead增加track记录 - 新增页面: VIP详情页, 会员详情页 - 开发文档精简为10个标准目录, 创建SKILL.md, 需求日志规范化 Co-authored-by: Cursor <cursoragent@cursor.com>
3.6 KiB
3.6 KiB
内容创建问题修复说明
问题:souladmin 添加内容后显示「创建成功」,但目录和数据库未增加,前端也未显示。
根因分析
-
两套后台数据源不一致
- souladmin.quwanzhi.com 调用 soulapi.quwanzhi.com(Go API)
- soul.quwanzhi.com/admin 使用 Next.js API,list 此前仅从 bookData(静态)读取
- 新建章节写入数据库,但 list 不查库,导致新建内容不显示
-
PUT 创建未完整支持 partId/chapterId
- 新建章节时 partId、chapterId、partTitle、chapterTitle 未正确写入数据库
已做修复
1. 修改 /api/db/book list 接口
- 原逻辑:仅从 bookData 读取
- 现逻辑:优先从数据库 chapters 表读取,再与 bookData 合并
- 效果:新建章节会立即出现在列表中
2. 修改 PUT 接口支持新建章节
- 支持 body 传入
partId、chapterId、partTitle、chapterTitle、isFree - 新建章节能正确写入数据库
3. 在 book-data 中新增 9.15
- 章节 ID: 9.15
- 标题: 第102场|今年第一个红包你发给谁
- 文件: book/第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.15 第102场|今年第一个红包你发给谁.md
4. soul-admin 改用 soul.quwanzhi.com 作为 API
- 修改 soul-admin 的 API 基址:soulapi → soul.quwanzhi.com
- 在 Next.js 中为 souladmin.quwanzhi.com 配置 CORS
部署步骤
步骤 1:部署 soul 主站(小型宝塔)
cd /Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验
# 按 .cursorrules 中的流程执行
pnpm build
# 然后执行部署脚本
步骤 2:同步 9.15 到数据库
部署后访问 soul.quwanzhi.com/admin,在内容管理页面点击「同步到数据库」,将包含 9.15 的 bookData 同步进库。
步骤 3:部署修改后的 soul-admin(KR 宝塔)
# 将 一场soul的创业实验-永平 中的 soul-admin/dist 上传到 KR 宝塔
cd /Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验-永平
tar -czf soul-admin-dist.tar.gz soul-admin/dist
sshpass -p 'Zhiqun1984' scp -P 22022 soul-admin-dist.tar.gz root@43.139.27.93:/tmp/
sshpass -p 'Zhiqun1984' ssh -p 22022 root@43.139.27.93 "
cd /www/wwwroot/自营/soul-admin
rm -rf dist.bak
mv dist dist.bak 2>/dev/null || true
tar -xzf /tmp/soul-admin-dist.tar.gz -C .
rm /tmp/soul-admin-dist.tar.gz
"
步骤 4:校验
- 打开 souladmin.quwanzhi.com/content
- 新建章节,确认创建后列表中立即出现
- 刷新 soul.quwanzhi.com 主站,确认新章节可读
注意事项
- souladmin 现改为调用 soul.quwanzhi.com,不再调用 soulapi(Go),需确保 soul 主站可用
- 若仍需使用 Go API,需在 soul-api 源码中修复 list/create 逻辑
内容上传 API(供科室/Skill 调用)
- 地址:
POST /api/content/upload - Content-Type:
application/json - Body 字段:
title(必填):节标题price:定价,默认 1content:正文(Markdown 或 HTML)format:markdown|html,默认markdownimages:图片 URL 数组;正文中可用{{image_0}}、{{image_1}}占位,会替换为对应图片的 Markdown 图链partId、partTitle、chapterId、chapterTitle:归属篇/章,可选isFree:是否免费,默认 falsesectionId:指定节 ID,不传则自动生成(如upload.标题slug.时间戳)
- 返回:
{ success, id, message, title, price, isFree, wordCount } - 写入数据库
chapters表,list/目录会从库中读取并去重显示。