书籍章节功能说明.md 3.8 KB

书籍章节功能说明

功能概述

实现了书籍章节内容的完整管理功能,包括:

  1. 前端小程序从数据库获取并显示书籍章节内容
  2. 后台管理系统对书籍章节进行增删改查操作

数据库表

book_chapters 表

创建脚本:book/src/main/resources/db/book_chapters_schema.sql

主要字段:

  • id: 章节ID(主键)
  • book_id: 书籍ID(外键,关联books表)
  • chapter_number: 章节序号
  • title: 章节标题
  • content: 章节内容(LONGTEXT类型,支持大文本)
  • word_count: 字数
  • is_free: 是否免费
  • is_vip: 是否VIP专享
  • status: 状态(0-禁用,1-启用)

后端接口

前端小程序接口(BookChapterController)

  • GET /api/chapter/list?bookId={bookId}: 获取书籍章节列表(不包含内容)
  • GET /api/chapter/{id}: 获取章节详情(包含完整内容)

后台管理接口(AdminChapterController)

  • GET /api/admin/chapter/list?bookId={bookId}: 获取章节列表
  • GET /api/admin/chapter/{id}: 获取章节详情(包含内容)
  • POST /api/admin/chapter/create: 创建章节
  • PUT /api/admin/chapter/update: 更新章节
  • DELETE /api/admin/chapter/{id}: 删除章节
  • POST /api/admin/chapter/batch-delete: 批量删除章节

前端小程序更新

reader.vue 页面

主要更新:

  1. 从后端API获取章节列表和内容
  2. 动态显示章节内容
  3. 支持章节切换
  4. 添加加载状态和空状态显示

关键方法:

  • loadBookInfo(): 加载书籍信息
  • loadChapterList(): 加载章节列表
  • loadChapterContent(chapterId): 加载章节内容

API工具类(books/utils/api.js)

新增API函数:

  • getBookChapters(bookId): 获取章节列表
  • getBookChapterDetail(chapterId): 获取章节详情

后台管理系统

API工具类(book-admin/utils/api.js)

新增API函数:

  • getAdminChapters(bookId, token): 获取章节列表
  • getAdminChapterById(id, token): 获取章节详情
  • createAdminChapter(chapterData, token): 创建章节
  • updateAdminChapter(chapterData, token): 更新章节
  • deleteAdminChapter(id, token): 删除章节
  • deleteAdminChapters(chapterIds, token): 批量删除章节

章节管理页面

需要在 books.html 页面中添加章节管理功能,或者创建独立的 chapters.html 页面。

建议功能:

  1. 在书籍列表页面,点击书籍可以管理该书籍的章节
  2. 章节列表显示:章节序号、标题、字数、是否免费、是否VIP
  3. 支持添加、编辑、删除章节
  4. 章节编辑支持富文本编辑器(或纯文本编辑器)编辑章节内容

使用说明

1. 创建数据库表

执行SQL脚本:

source book/src/main/resources/db/book_chapters_schema.sql

2. 启动后端服务

确保后端服务正常运行(端口8081)

3. 前端小程序使用

  1. 在书籍详情页点击"阅读"按钮
  2. 阅读页面会自动加载该书籍的章节列表
  3. 默认显示第一章内容
  4. 点击"目录"可以切换章节

4. 后台管理系统使用

  1. 登录后台管理系统
  2. 在书籍管理页面,选择要管理的书籍
  3. 进入章节管理页面
  4. 可以添加、编辑、删除章节内容

注意事项

  1. 章节内容支持换行,前端会自动按行分割显示
  2. 章节序号建议从1开始递增
  3. 删除书籍时,相关章节会自动删除(外键级联删除)
  4. 章节内容建议使用UTF-8编码,支持中文和特殊字符
  5. 大文本内容建议使用LONGTEXT类型存储

后续优化建议

  1. 添加章节搜索功能
  2. 支持章节排序(拖拽排序)
  3. 添加章节预览功能
  4. 支持批量导入章节(从文件导入)
  5. 添加章节字数统计和阅读时间估算
  6. 支持章节评论功能
  7. 添加章节阅读进度记录