This commit is contained in:
mrFq1
2023-06-05 23:39:23 +08:00
parent e5860ead2c
commit f488f41f8d
72 changed files with 247 additions and 45 deletions

View File

@@ -0,0 +1,36 @@
//
// ClashServerAppStorage.swift
// ClashX Dashboard
//
//
import Foundation
import SwiftUI
typealias SavedServersAppStorage = [ClashServerAppStorage]
struct ClashServerAppStorage: Codable, Identifiable {
var id = UUID().uuidString
let apiURL: String
let secret: String
}
extension SavedServersAppStorage: RawRepresentable {
public init?(rawValue: String) {
guard let data = rawValue.data(using: .utf8),
let result = try? JSONDecoder().decode(SavedServersAppStorage.self, from: data)
else {
return nil
}
self = result
}
public var rawValue: String {
guard let data = try? JSONEncoder().encode(self),
let result = String(data: data, encoding: .utf8)
else {
return "[]"
}
return result
}
}