面向 Windows 10/11 的 禁漫天堂(JMComic)漫画下载与在线阅读工具。应用为单进程 C# 架构,集站点访问、下载调度、本地书库与阅读器于一体,无需单独启动后端服务。
- 内容发现:站内关键词搜索,支持直接输入 JM 编号或链接精确解析;排行榜(最新更新 / 最多浏览 / 最多图片 / 最多点赞)带名次与作者信息;“每周必看”直接展示 JM 官方各期精选并支持作品类型筛选。
- 下载管理:批量下载、暂停 / 继续 / 停止,断点续传与失败章节自动重试;图片并发数、重试次数及下载目录格式可在设置页调整,支持
标题 [ID]/序号_章节名与 JM 兼容的本子ID/章节序号两种布局。 - 在线阅读:解析漫画后无需下载即可直接翻看,分页模式支持图片预加载与进度记忆。
- 本地书库:下载内容自动归档,支持收藏置顶、上次阅读位置提示、更新检查与 CBZ 导出;可扫描并导入外部 JM 数字目录,只补齐缺失章节且不覆盖冲突内容。
- 追更中心:按实际章节序号检查本地漫画更新,集中展示缺失章节,支持单部或批量一键补下载。
- 官方收藏夹管理:支持新建、重命名和删除收藏夹,收藏时选择目标文件夹,以及批量移动或取消收藏。
- 阅读器:单页 / 条漫双模式,条漫支持滚轮缩放与自动切章;分页模式支持点击翻页、快捷键与 50%–300% 缩放;阅读进度自动保存。
- 其他:搜索历史管理、明暗主题、文件日志(按天分文件、保留 7 天)。
界面与核心服务运行在同一个进程中,按职责划分为独立服务,界面层通过统一的调用契约访问:
| 组件 | 说明 |
|---|---|
JmComicService |
站点协议:搜索、解析、排行榜、每周必看、评论、章节图片解密与乱序还原 |
DownloadSchedulerService |
下载任务调度:生命周期管理、断点续传、速度统计、下载历史 |
LibraryStorageService |
书库存储:存储根目录、漫画元数据、章节目录枚举与路径校验 |
CbzExportService |
CBZ 打包导出 |
ReaderService |
本地阅读访问(章节 / 图片) |
站点协议(域名、密钥、签名与图片乱序规则)集中在 JmSiteOptions 中,便于站点改版时快速调整。
| 组件 | 技术 |
|---|---|
| 界面 | WinUI 3(Windows App SDK 1.8)、XAML、CommunityToolkit.Mvvm |
| 核心服务 | C#、.NET 9、HttpClient、System.Security.Cryptography、System.IO.Compression |
| 日志 | Microsoft.Extensions.Logging + 文件输出 |
| 打包 | 框架依赖发布 + Inno Setup 6 |
| CI | GitHub Actions(测试 + 安装包 + 自动 Release) |
- Windows 10/11 x64
- .NET 9 SDK(开发)
- Windows App Runtime 1.8 x64(运行,安装包会自动检查)
start-winui.cmd或手动构建:
dotnet build .\app\frontend-winui\src\Comic.WinUI\Comic.WinUI.csproj -c Debug -r win-x64默认下载目录为 %USERPROFILE%\Downloads\ComicDownloads,可通过环境变量 COMIC_DOWNLOAD_DIR 自定义。
dotnet test .\app\frontend-winui\src\Comic.WinUI.Tests\Comic.WinUI.Tests.csproj -c Release -r win-x64安装 .NET 9 SDK 和 Inno Setup 6 后执行:
build-installer.bat输出位于 installer-output/。安装包为框架依赖部署,目标电脑需先安装:
安装器会检查上述前置条件,缺少时停止安装并给出官方下载页面。
打 tag 后由 CI 自动完成测试、打包与发布:
git tag vX.Y.Z
git push origin vX.Y.ZCI 会运行全部测试、从 tag 注入版本号构建安装包,并从 CHANGELOG.md 提取对应版本说明创建 GitHub Release。
app/frontend-winui/
├── src/Comic.WinUI/ # WinUI 3 桌面应用
│ ├── Services/Native/ # 职责化核心服务(站点/下载/书库/导出/阅读)
│ ├── Services/Logging/ # 文件日志
│ ├── ViewModels/ # MVVM 视图模型
│ ├── Views/ # 页面
│ └── Controls/ # 复用控件
└── src/Comic.WinUI.Tests/ # 协议、模型与应用服务测试
欢迎提交 Issue 与 Pull Request,请参阅 CONTRIBUTING.md。
