Aidoku
一款专为iOS和iPadOS设计的免费开源漫画阅读应用。
功能特性
- :check_mark_button: 无广告干扰 - 纯净的阅读体验
- :check_mark_button: 强大的WASM源系统 - 支持外部漫画源
- :check_mark_button: 在线阅读功能 - 通过外部源实现在线阅读
- :check_mark_button: 下载支持 - 离线阅读漫画内容
- :check_mark_button: 追踪器集成 - 支持AniList和MyAnimeList等追踪服务
安装指南
详细的安装说明请查看官方网站。
TestFlight安装
如需加入TestFlight测试,请先加入Aidoku Discord服务器。
AltStore安装
我们提供了包含最新版本ipa文件的AltStore源。您可以将直接源URL复制并粘贴到AltStore中。请注意不支持AltStore PAL。
手动安装
最新的ipa文件始终可在发布页面获取。
使用说明
Aidoku提供了简洁直观的用户界面,让您可以轻松:
- 添加漫画源 - 通过WASM系统添加您喜欢的漫画网站
- 浏览和搜索 - 在已添加的源中浏览和搜索漫画作品
- 阅读管理 - 支持在线阅读和离线下载功能
- 进度追踪 - 与AniList或MyAnimeList同步阅读进度
核心代码
由于Aidoku是一个完整的iOS应用程序项目,核心代码包含多个模块。以下是项目的主要架构:
// 主要应用入口
import SwiftUI@main
struct AidokuApp: App {var body: some Scene {WindowGroup {ContentView().environmentObject(SourceManager.shared).environmentObject(LibraryManager.shared)}}
}
// 源管理器 - 处理WASM漫画源
class SourceManager: ObservableObject {static let shared = SourceManager()@Published var sources: [Source] = []func loadSources() {// 加载已安装的WASM源// 实现源的管理和更新功能}func installSource(from url: URL) {// 从URL安装新的漫画源// 处理WASM模块的加载和验证}
}
// 阅读器核心组件
struct ReaderView: View {@ObservedObject var chapter: Chapter@State private var pages: [Page] = []@State private var currentPage = 0var body: some View {TabView(selection: $currentPage) {ForEach(pages.indices, id: \.self) { index inPageView(page: pages[index]).tag(index)}}.tabViewStyle(.page).onAppear {loadPages()}}private func loadPages() {// 加载章节页面内容// 支持在线和离线阅读模式}
}
// 追踪器集成模块
protocol Tracker {func authenticate(credentials: [String: String]) async throwsfunc updateProgress(chapter: Chapter, progress: Double) async throwsfunc searchTitle(title: String) async throws -> [TrackedTitle]
}class AniListTracker: Tracker {// AniList追踪器实现// 处理与AniList API的通信
}class MyAnimeListTracker: Tracker {// MyAnimeList追踪器实现// 处理与MAL API的通信
}
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码
公众号二维码