面向拥有 EPUB 电子书的个人读者及数字内容管理场景,解决电子书分散存储、跨设备阅读进度不一致、网络不稳定时无法阅读以及书籍数量增加后难以分类整理等问题。用户可将电子书集中上传至云端书架,在 Windows 桌面端和 Android 移动端随时阅读,并通过离线缓存满足通勤、旅行等无网络环境下的阅读需求。
点击空白处退出提示
面向拥有 EPUB 电子书的个人读者及数字内容管理场景,解决电子书分散存储、跨设备阅读进度不一致、网络不稳定时无法阅读以及书籍数量增加后难以分类整理等问题。用户可将电子书集中上传至云端书架,在 Windows 桌面端和 Android 移动端随时阅读,并通过离线缓存满足通勤、旅行等无网络环境下的阅读需求。
BookCloud 是一套支持 Windows 与 Android 的跨平台 EPUB 云阅读系统。系统提供账号注册登录、EPUB 文件上传、书籍封面与元数据解析、个人云端书架、文件夹分组、拖拽排序、最近阅读和回收站管理等功能。阅读器支持章节目录导航、上下滚动与左右翻页、字号和行距调节、多种阅读主题、阅读进度自动保存与恢复。用户可以将整本书及其图片、样式和字体资源缓存到本地,在无网络环境下继续阅读;联网后还可通过同一账号在不同设备间衔接阅读进度。
项目采用前后端分离架构。服务端基于 Node.js、Express 和 MariaDB 开发,使用 JWT 与 bcrypt 实现账号认证和密码安全存储,MinIO 负责 EPUB、封面、缩略图及用户头像等对象文件存储,并通过 Docker Compose 与 Nginx 完成服务编排和反向代理。
针对不同 EPUB 文件目录结构和资源引用方式不统一的问题,后端使用 JSZip 与 XML 解析器读取 container.xml、OPF、manifest 和 spine,提取书名、作者、封面及章节信息,并对章节中的图片、CSS和字体相对路径进行解析与重写。通过内容哈希避免重复上传,使用缩略图生成、ZIP 对象缓存和章节按需加载降低大文件处理产生的内存与响应压力。
客户端分别使用 React Native WebView 实现 Android 端、Electron 实现 Windows 桌面端,并复用统一的接口和阅读逻辑。移动端通过本地文件系统保存离线章节和资源,桌面端通过 IndexedDB 建立离线缓存;阅读位置采用章节编号与章节内百分比组合记录,并通过防抖策略自动同步,在保证恢复精度的同时减少频繁请求。






评论