mirror of
https://github.com/Aminark/legado-ios.git
synced 2026-10-24 21:01:22 +08:00
支持 EPUB 2/3 导入、目录、封面和章节插图,保留本地书管理与阅读进度。 修复 JSON 模板、动态替换与请求参数兼容,以及 RSS 翻页和连续滚动定位。 更新编辑器工具栏和回归测试,发布版本为 0.1.12(build 18)。
42 lines
2.1 KiB
Swift
42 lines
2.1 KiB
Swift
import UIKit
|
|
|
|
// Standalone simulator-only file provider; never bundled with Legado.
|
|
@main
|
|
@MainActor
|
|
final class FixtureAppDelegate: UIResponder, UIApplicationDelegate {
|
|
var window: UIWindow?
|
|
|
|
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
|
let documents = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
|
|
let fixtures = [
|
|
("JSON-Source.json", "https://file-import.test/json", "文件导入 JSON 测试"),
|
|
("JSON-Uppercase.JSON", "https://file-import.test/uppercase", "文件导入大写扩展名测试"),
|
|
("JSON-Text.txt", "https://file-import.test/text", "文件导入文本扩展名测试")
|
|
]
|
|
for (name, url, title) in fixtures {
|
|
let source = [["bookSourceUrl": url, "bookSourceName": title]]
|
|
if let data = try? JSONSerialization.data(withJSONObject: source) {
|
|
try? data.write(to: documents.appendingPathComponent(name), options: .atomic)
|
|
}
|
|
}
|
|
for name in ["TXT-Book.txt", "TXT-Uppercase.TXT"] {
|
|
try? Data("第一章 开始\n这是用于验证本地 TXT 导入的小说正文。\n第二章 后续\n正文继续。".utf8)
|
|
.write(to: documents.appendingPathComponent(name), options: .atomic)
|
|
}
|
|
if let epub = Bundle.main.url(forResource: "EPUB-Book", withExtension: "epub"),
|
|
let data = try? Data(contentsOf: epub) {
|
|
try? data.write(to: documents.appendingPathComponent("EPUB-Book.epub"), options: .atomic)
|
|
}
|
|
let controller = UIViewController()
|
|
controller.view.backgroundColor = .systemBackground
|
|
let label = UILabel()
|
|
label.text = "书源导入测试文件已准备好"
|
|
label.frame = CGRect(x: 20, y: 100, width: 350, height: 80)
|
|
controller.view.addSubview(label)
|
|
window = UIWindow(frame: UIScreen.main.bounds)
|
|
window?.rootViewController = controller
|
|
window?.makeKeyAndVisible()
|
|
return true
|
|
}
|
|
}
|