一个支持 桌面端 (Electron) 和 Web 端 (Node.js) 双模式运行的优雅阅读应用,专为 TXT 小说阅读而设计。无论是在本地电脑还是云服务器上,都能提供一致的流畅阅读体验,并支持多端历史记录同步。
-
双模式运行:
- 🖥️ 桌面端: 基于 Electron,提供原生应用体验,支持本地文件系统深度集成。
- 🌐 Web 端: 基于 Node.js 服务,支持手机/平板远程访问,随时随地阅读。
-
多端同步:
- 🔄 历史记录同步: 电脑端和手机端共享阅读历史和进度(需配置同一数据源)。
- 📚 书库共享: 支持设置统一的书库目录,多端访问同一份小说资源。
-
极致阅读体验:
- 📖 智能分章: 自动识别章节结构,生成目录。
- 🎨 个性化设置: 支持字体、字号、行高、段落间距、背景主题(深色/护眼)自定义。
- 📱 沉浸式阅读: 移动端自动隐藏菜单栏,提供纯净阅读空间。
- 📜 多种翻页模式: 支持仿真翻页和垂直滚动模式。
-
便捷功能:
- 🎲 随机阅读: 不知道读什么?一键随机打开一本小说。
- 🔍 智能搜索: 快速查找本地或书库中的小说。
- 📂 文件拖拽: 支持直接拖拽 TXT 文件打开。
- 💾 自动保存: 实时保存阅读进度,下次打开自动跳转。
本项目采用混合架构设计,核心逻辑复用:
- 前端: 原生 HTML5/CSS3/JavaScript,无繁重框架依赖。
index.html: 应用入口。renderer.js: 核心渲染逻辑与交互处理。styles.css: 响应式样式设计。
- 后端/主进程:
main.js: Electron 主进程,处理本地文件操作和窗口管理。server.js: Node.js HTTP 服务器,提供 Web 访问和 API 接口。
- 数据存储: 基于 JSON 的轻量级文件存储 (
reading_history.json,config.json)。
- Node.js 16.0 或更高版本
- npm 或 yarn
npm install桌面模式 (Electron):
npm startWeb 服务模式 (手机访问):
npm run server服务启动后,访问 http://localhost:3000 (或本机局域网 IP) 即可阅读。
# 构建 Windows 安装包
npm run build-win- 确保电脑和手机在同一局域网下。
- 在电脑运行
npm run server。 - 手机浏览器访问电脑 IP 地址(例如
http://192.168.1.x:3000)。 - 添加书库: 点击"书库"按钮,选择电脑上的小说文件夹。
- 同步历史: 只要连接同一服务,阅读进度会自动同步。
├── books/ # 默认小说存放目录
├── index.html # 前端入口
├── renderer.js # 前端核心逻辑 (UI, 交互, 渲染)
├── styles.css # 样式文件
├── main.js # Electron 主进程
├── server.js # Web 服务端
├── preload.js # Electron 预加载脚本
└── package.json # 项目配置
Q: 手机端如何全屏阅读?
A: 打开小说后,点击屏幕中央可唤出/隐藏菜单栏。在隐藏菜单栏状态下即为沉浸式全屏阅读。
Q: 为什么有些 TXT 显示乱码?
A: 程序内置了智能编码检测(支持 UTF-8, GBK, Big5 等),绝大多数文件能自动识别。如果仍有乱码,建议手动将文件转换为 UTF-8 编码。
Q: 历史记录存在哪里?
A: 历史记录保存在运行目录下的 reading_history.json 文件中。
MIT License