book_chapters 表前端小程序接口(BookChapterController):
后台管理接口(AdminChapterController):
更新了 reader.vue 页面:
更新了 api.js:
getBookChapters 和 getBookChapterDetail API函数更新了 api.js:
创建了后端服务:
AdminChapterService: 章节管理服务AdminChapterController: 章节管理控制器需要在后台管理系统中创建章节管理页面,建议:
在书籍管理页面添加章节管理入口
创建章节管理页面(chapters.html)
mysql -u root -p books_db < book/src/main/resources/db/book_chapters_schema.sql
确保后端服务正常运行在端口8081
CREATE TABLE IF NOT EXISTS `book_chapters` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '章节ID',
`book_id` INT(11) NOT NULL COMMENT '书籍ID',
`chapter_number` INT(11) NOT NULL DEFAULT 1 COMMENT '章节序号',
`title` VARCHAR(200) NOT NULL COMMENT '章节标题',
`content` LONGTEXT COMMENT '章节内容',
`word_count` INT(11) DEFAULT 0 COMMENT '字数',
`is_free` TINYINT(1) DEFAULT 1 COMMENT '是否免费:0-否,1-是',
`is_vip` TINYINT(1) DEFAULT 0 COMMENT '是否VIP专享:0-否,1-是',
`status` TINYINT(1) DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_book_id` (`book_id`),
KEY `idx_chapter_number` (`chapter_number`),
KEY `idx_status` (`status`),
UNIQUE KEY `uk_book_chapter` (`book_id`, `chapter_number`),
CONSTRAINT `fk_chapter_book` FOREIGN KEY (`book_id`) REFERENCES `books` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='书籍章节表';
GET /api/chapter/list?bookId={bookId}
响应示例:
{
"code": 200,
"message": "success",
"data": [
{
"id": 1,
"bookId": 1,
"chapterNumber": 1,
"title": "第一回 灵根育孕源流出 心性修持大道生",
"wordCount": 5000,
"isFree": true,
"isVip": false
}
]
}
GET /api/chapter/{id}
响应示例:
{
"code": 200,
"message": "success",
"data": {
"id": 1,
"bookId": 1,
"chapterNumber": 1,
"title": "第一回 灵根育孕源流出 心性修持大道生",
"content": "诗曰:\n混沌未分天地乱,茫茫渺渺无人见。\n...",
"wordCount": 5000,
"isFree": true,
"isVip": false,
"prevChapterId": null,
"nextChapterId": 2
}
}
POST /api/admin/chapter/create
Authorization: admin_token_xxx
{
"bookId": 1,
"chapterNumber": 1,
"title": "第一回 灵根育孕源流出 心性修持大道生",
"content": "章节内容...",
"isFree": true,
"isVip": false,
"status": 1
}
PUT /api/admin/chapter/update
Authorization: admin_token_xxx
{
"id": 1,
"bookId": 1,
"chapterNumber": 1,
"title": "第一回 灵根育孕源流出 心性修持大道生",
"content": "更新后的章节内容...",
"isFree": true,
"isVip": false,
"status": 1
}