一款为沉浸阅读与极速响应而生的多平台小说阅读器
基于 SwiftUI & SwiftData 原生打造 · 适配 iOS / macOS / iPadOS / visionOS
| 书架主页 | 沉浸阅读 | 发现与找书 | 书源管理 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| 暖纸色质感 · 置顶追更 · 接着读 | 纸白排版 · 多维定制 · 无扰阅读 | 分类探索 · 多源聚合 · 实时热搜 | 阅读 3.0 / 香色兼容 · 测速调度 |
- TextKit 原生高保真分页:精确定位页面边界,翻页迅速,不漏字不溢出。
- 多种翻页动画:支持仿真翻页、左右滑动、垂直连续滚动及无动画极速切页。
- 6 套考究主题配色:纸白、护眼、羊皮、烟灰、夜间,以及随系统自适应的“自动”外观。
- 全方位排版定制:字号、行距、段间距、首行缩进、字距、对齐方式、四周边距细调。
- 无扰阅读:默认只留正文与页眉页脚,轻点屏幕中央唤出/收起工具栏,左右两侧点按翻页。
- 字型自由扩展:支持直接导入外部
.ttf/.otf自定义字体文件。 - 简繁体一键切换与屏蔽词过滤:内置高效字典映射与预编译屏蔽词正则清洗。
- 智能编码识别:自动探测并适配 UTF-8(含 BOM)、UTF-16、GB18030 等中文小说常见格式。
- 正则预编译分章池:内置常用大章、卷、序章、番外智能分章表达式,使用预编译
NSRegularExpression缓存池,几万章巨作毫秒级分发,彻底消除主线程卡顿。 - 轻量 EPUB 流式解压:仅提取核心元数据、
container.xml、content.opf及正文 XHTML,跳过海量高清多媒体解压开销,内存占用极低。 - 防抖防雪崩搜索:多源聚合搜索支持 400ms 智能防抖(Debounce)与 Task 取消链路,杜绝高频敲击时的多源并发请求雪崩。
- SwiftData 批量写入调优:全本缓存采用分批写入(Batch Commit),将百万字数千章的落盘事务合并处理,避免高频 I/O 导致 UI 掉帧。
- 多元管理:支持置顶小说、按“最近阅读/加入时间/书名”智能排序。
- 视图切换:提供雅致大封面网格与精简列表两种模式。
- 断点续读与进度管理:无论本地书目还是网络章节,实时记录最后阅读位置与全本百分比。
- 后台智能追更:单本或一键全书架后台检查目录更新,有新章节时自动展现醒目更新角标。
- 多标准兼容:全面兼容「阅读 3.0」规则与「香色闺阁」源,支持本地
.xbs、.json文件导入或网络 URL 一键订阅。 - 章节内分页自动拼接:单章被拆成
1/2页、123_2.html的站点自动续抓拼接,剥离翻页提示与交界重复标题,且不会误吞下一章;中间页失败时保留已抓到的正文。 - 详情页规则增强:支持香色
bookDetail请求模板拼装详情地址,以及直接返回 JSON 的详情页目录提取。 - 书籍元数据清洗:分类与连载状态的复合文本(如
"[玄幻奇幻]"、"玄幻 · 连载中 · 128万字")自动拆分归一,发现与搜索结果卡片不再出现空的重复分隔符。 - 内置精品目录:预设常用精选站点,开箱即搜即读。
- 灵活的源管理:支持分组管理、一键启停、优先级权重调控、网络响应测速与自适应调度。
- 全本离线高速缓存:4 路并发极速下载,支持断点续传(自动跳过已缓存章节),并在书架提供可视化缓存占用监控与一键清理。
- 系统级朗读:基于
AVSpeechSynthesizer,支持后台锁屏播放、线控与控制中心联动。 - 多音色与精准调速:系统中文音色随意切换,支持 0.32–0.80 倍速无极调节。
- 双维度切段:支持“按页”或“按章”无缝跳转段落。
- 音频中断保护:朗读过程中音频会话被中断(蓝牙断开、来电、其他 App 抢占)时自动暂停(不停止、不自动恢复),并弹窗「朗读被中断,是否退出朗读?」,用户可选择「继续朗读」或「退出朗读」;中断结束仅重新激活音频会话,不自动恢复朗读;仅 iOS/visionOS 注册 AVAudioSession 中断监听(macOS 不适用)。
| 项目 | 要求 |
|---|---|
| 开发环境 | Xcode 16.0+ |
| 编程语言 | Swift 5.10 / Swift 6 兼容 |
| 支持平台 | iOS 17.6+ / macOS 15.0+ / visionOS 1.0+ |
| 工程文件 | DouDouReader.xcodeproj(采用 Xcode 现代化同步目录结构) |
- 双击打开
DouDouReader.xcodeproj。 - 在顶部 Scheme 中选择
DouDouReader。 - 目标设备选择 iPhone 模拟器 / 真机、My Mac 或 visionOS 模拟器。
- 按
Cmd + R即可运行。
# 构建 macOS 目标
xcodebuild -project DouDouReader.xcodeproj -scheme DouDouReader -destination 'platform=macOS' -configuration Debug buildDouDouReader 内置了完备的自动化自检工具:
- 基础逻辑自检(校验分章、分页、编码、简繁、ATS、书源解析器):
/path/to/DouDouReader.app/Contents/MacOS/DouDouReader -selfTest # 校验通过控制台打印:LOGIC_OK - 生成高保真预览截图:
/path/to/DouDouReader.app/Contents/MacOS/DouDouReader -renderScreenshots
- 直接进入发现页:
/path/to/DouDouReader.app/Contents/MacOS/DouDouReader -openSources
DouDouReader/
├── App/ # 应用程序生命周期、入口与全局外观
├── Library/ # 书架模型、书籍存储 (BookStorage)、示例图书、本地文件导入
├── Text/ # 正文解码 (EncodingDetector)、分章器 (ChapterSplitter)、简繁转换、TextKit 分页引擎
├── Reader/ # 阅读器主界面、排版菜单、主题色彩、TTS 听书控制器
├── BookSource/ # 书源规则引擎 (BookSourceEngine)、XPath/JSONPath 抓取器、内置源与订阅管理器
├── Diagnostics/ # 自动化自检 (-selfTest) 与高保真截图生成器 (-renderScreenshots)
└── Assets.xcassets/ # 图标、色板与应用素材
- 完全本地化:用户的书架、书签、书源配置均保存在本地
SwiftData容器中。 - 文件沙盒存储:书籍文件与导入的外部字体均安全保存在系统沙盒的
Application Support/DouDouReader/目录下,不产生冗余残留。 - 网络安全性 (ATS):应用支持 HTTPS 书源及经用户许可的自定义/内置网络源请求,无多余隐私追踪与第三方 SDK 依赖。
本项目采用 MIT License 开源协议,欢迎交流学习与提交 PR!



