import Foundation // 传输历史 / 消息记录的本地持久化(修「重启清空」)。落 Application Support 下的 JSON 文件—— // 不进 Documents(那是「收到的文件」对用户可见的目录),也不进 UserDefaults(记录可能较多)。 // 原生侧是这两类记录的真源:引擎只过桥推增量,原生加载 / 追加 / 删除 / 落盘(见 EngineController)。 enum RecordsStore { private static func fileURL(_ name: String) -> URL? { guard let dir = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first else { return nil } try? FileManager.default.createDirectory(at: dir, withIntermediateDirectories: true) return dir.appendingPathComponent("cdrop-\(name).json") } static func save(_ value: T, _ name: String) { guard let url = fileURL(name), let data = try? JSONEncoder().encode(value) else { return } try? data.write(to: url, options: .atomic) } static func load(_ type: T.Type, _ name: String) -> T? { guard let url = fileURL(name), let data = try? Data(contentsOf: url) else { return nil } return try? JSONDecoder().decode(type, from: data) } static func clear(_ name: String) { guard let url = fileURL(name) else { return } try? FileManager.default.removeItem(at: url) } }