Release v8.22.3
v8.22.3 — 内置 HTML5 有声书播放器 + NodeByte 社区置顶
🎵 内置有声书播放器(无需外部服务)
Readest Lite 现在自带内置有声书播放器,不再依赖 Audiobookshelf。直接上传 .mp3/.m4a/.m4b 即可播放。
新增 API:
GET /api/audiobook/metadata/[bookHash]— 返回该书的音频章节列表(自动按 fileKey 排序,提取章节标题)GET /api/audiobook/stream/[bookHash]?fileKey=...&token=...— 流式返回音频文件,支持 HTTP Range(拖动进度条),token 通过 URL 传递,24 小时 TTL
AudiobookPlayer 组件功能:
▶️ 播放/暂停/上一章/下一章- 🔍 拖动进度条跳转
- 🎚️ 音量调节 + 静音
- ⚡ 播放速度(0.75× / 1× / 1.25× / 1.5× / 1.75× / 2×)
- 💾 自动保存播放进度(每 5 秒),下次打开继续播放
- 🔁 自动连续播放下一章
- 📚 章节列表(点击切换)
bookService 改造:
- 上传 .mp3/.m4a/.m4b 自动识别为有声书,跳过 foliate-js 解析
- BookFormat 类型扩展:
'MP3' | 'M4A' | 'M4B' useOpenBook.ts:本地音频书也走/player路由
📌 NodeByte 社区置顶
README 顶部加入 for-the-badge 风格的社区入口徽章,NodeByte 社区链接放到最显眼位置:
📖 文档
- README 新增「🔊 有声书播放」详细章节,包括 3 种播放方式 + 播放器功能列表 + 鉴权说明
- ITERATION_PROMPT.md 更新到 v8.22.3
🌐 翻译
- 新增 14 个简体中文键(有声书播放器 UI)
📦 镜像
ghcr.io/cshdotcom/readest-lite:8.22.3ghcr.io/cshdotcom/readest-lite:8.22ghcr.io/cshdotcom/readest-lite:latest
⬆️ 升级
docker pull ghcr.io/cshdotcom/readest-lite:8.22.3
docker compose down && docker compose up -d升级后浏览器硬刷新(Ctrl+Shift+R)清掉旧 SW 缓存。