3.3 KiB
3.3 KiB
book — 书籍信息与阅读进度
查看书籍详情、章节目录、阅读进度。
接口
/book/info — 书籍基本信息
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bookId |
string | 是 | 书籍 ID |
回包:
| 字段 | 说明 |
|---|---|
bookId |
书籍 ID |
title |
书名 |
author |
作者 |
translator |
译者 |
cover |
封面 URL |
intro |
简介 |
category |
分类 |
publisher |
出版社 |
publishTime |
出版时间 |
isbn |
ISBN |
wordCount |
总字数 |
newRating |
评分(百分制) |
newRatingCount |
评分人数 |
newRatingDetail |
评分分布详情 |
/book/chapterinfo — 章节目录
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bookId |
string | 是 | 书籍 ID |
回包:
| 字段 | 说明 |
|---|---|
bookId |
书籍 ID |
synckey |
同步 key(版本号) |
chapterUpdateTime |
章节最后更新时间 |
chapters |
章节数组 |
chapters[].chapterUid |
章节 UID(用于其他接口如 underlines) |
chapters[].chapterIdx |
章节序号 |
chapters[].title |
章节标题 |
chapters[].wordCount |
章节字数 |
chapters[].level |
目录层级(1=一级标题, 2=二级…) |
chapters[].updateTime |
章节更新时间 |
chapters[].price |
章节价格(0=免费) |
chapters[].paid |
是否已购买(1=已购买) |
chapters[].isMPChapter |
是否公众号章节(1=是) |
chapters[].anchors |
章节内锚点/子标题数组 |
/book/getprogress — 阅读进度
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
bookId |
string | 是 | 书籍 ID |
回包:
| 字段 | 说明 |
|---|---|
bookId |
书籍 ID |
book.chapterUid |
当前阅读章节 UID |
book.chapterOffset |
当前章节内偏移 |
book.progress |
阅读进度百分比(整数,0-100)。注意:1 表示 1%,不是 100%。0=未读,1-99=部分阅读(如 1=仅翻了几页),100=已读完。只有 100 才代表读完 |
book.updateTime |
最后阅读时间 |
book.recordReadingTime |
累计阅读时长(秒) |
book.finishTime |
读完时间(仅 progress=100 时存在,否则无此字段) |
book.isStartReading |
是否已开始阅读 |
timestamp |
服务端时间戳 |
工作流
- 查看书籍详情:用户提供 bookId 或书名(书名先调
/store/search),调/book/info获取基本信息。 - 查看章节目录:调
/book/chapterinfo,按 level 层级缩进展示目录结构。 - 查看阅读进度:调
/book/getprogress,展示阅读百分比和累计时长。 chapterUid是后续查看章节划线热度(/book/underlines)和热门划线(/book/bestbookmarks)等接口的参数。
输出格式
- 书籍详情:展示书名、作者、评分、简介等核心信息
- 章节目录:按层级缩进展示,标注字数和付费状态
- 阅读进度:展示百分比和阅读时长(转为小时/分钟)。progress 是 0-100 的整数,必须带 % 号展示(如 progress=1 展示为"1%",progress=45 展示为"45%")。只有 progress=100 且有 finishTime 时才表示已读完