Files
soul/开发文档/6、后端/内容创建问题修复说明.md
卡若 afc2376e96 v1.19 全面改版:VIP会员系统、我的收益、创业老板排行、阅读量排序
- 后端: 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>
2026-02-23 14:07:41 +08:00

94 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 内容创建问题修复说明
> 问题souladmin 添加内容后显示「创建成功」,但目录和数据库未增加,前端也未显示。
## 根因分析
1. **两套后台数据源不一致**
- souladmin.quwanzhi.com 调用 soulapi.quwanzhi.comGo API
- soul.quwanzhi.com/admin 使用 Next.js APIlist 此前仅从 bookData静态读取
- 新建章节写入数据库,但 list 不查库,导致新建内容不显示
2. **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 主站(小型宝塔)
```bash
cd /Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验
# 按 .cursorrules 中的流程执行
pnpm build
# 然后执行部署脚本
```
### 步骤 2同步 9.15 到数据库
部署后访问 soul.quwanzhi.com/admin在内容管理页面点击「同步到数据库」将包含 9.15 的 bookData 同步进库。
### 步骤 3部署修改后的 soul-adminKR 宝塔)
```bash
# 将 一场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校验
1. 打开 souladmin.quwanzhi.com/content
2. 新建章节,确认创建后列表中立即出现
3. 刷新 soul.quwanzhi.com 主站,确认新章节可读
## 注意事项
- souladmin 现改为调用 soul.quwanzhi.com不再调用 soulapiGo需确保 soul 主站可用
- 若仍需使用 Go API需在 soul-api 源码中修复 list/create 逻辑
---
## 内容上传 API供科室/Skill 调用)
- **地址**`POST /api/content/upload`
- **Content-Type**`application/json`
- **Body 字段**
- `title`(必填):节标题
- `price`:定价,默认 1
- `content`正文Markdown 或 HTML
- `format``markdown` | `html`,默认 `markdown`
- `images`:图片 URL 数组;正文中可用 `{{image_0}}``{{image_1}}` 占位,会替换为对应图片的 Markdown 图链
- `partId``partTitle``chapterId``chapterTitle`:归属篇/章,可选
- `isFree`:是否免费,默认 false
- `sectionId`:指定节 ID不传则自动生成`upload.标题slug.时间戳`
- **返回**`{ success, id, message, title, price, isFree, wordCount }`
- 写入数据库 `chapters`list/目录会从库中读取并去重显示。