From 33a4eab57986b118ce840a541d21202a22c43d83 Mon Sep 17 00:00:00 2001 From: mrFq1 <1xxbx0il0@mozmail.com> Date: Thu, 25 May 2023 23:52:41 +0800 Subject: [PATCH] misc: proxy uuid --- ClashX Dashboard/ClashX Links/Models/ClashProvider.swift | 1 - ClashX Dashboard/ClashX Links/Models/ClashProxy.swift | 4 ++-- ClashX Dashboard/Models/DBProviderStorage.swift | 4 +--- ClashX Dashboard/Models/DBProxyStorage.swift | 5 ++--- .../Views/APISetting/ClashServerAppStorage.swift | 2 +- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/ClashX Dashboard/ClashX Links/Models/ClashProvider.swift b/ClashX Dashboard/ClashX Links/Models/ClashProvider.swift index 8486758..a1f4c2d 100644 --- a/ClashX Dashboard/ClashX Links/Models/ClashProvider.swift +++ b/ClashX Dashboard/ClashX Links/Models/ClashProvider.swift @@ -30,7 +30,6 @@ class ClashProviderResp: Codable { } class ClashProvider: Codable { - let id = UUID().uuidString enum ProviderType: String, Codable { case Proxy case String diff --git a/ClashX Dashboard/ClashX Links/Models/ClashProxy.swift b/ClashX Dashboard/ClashX Links/Models/ClashProxy.swift index f70660f..c0b74da 100644 --- a/ClashX Dashboard/ClashX Links/Models/ClashProxy.swift +++ b/ClashX Dashboard/ClashX Links/Models/ClashProxy.swift @@ -97,7 +97,7 @@ class ClashProxySpeedHistory: Codable { } class ClashProxy: Codable { - let id = UUID().uuidString + let id: String? let name: ClashProxyName let type: ClashProxyType let all: [ClashProxyName]? @@ -145,7 +145,7 @@ class ClashProxy: Codable { }() private enum CodingKeys: String, CodingKey { - case type, all, history, now, name, udp, xudp, tfo + case type, all, history, now, name, udp, xudp, tfo, id } lazy var maxProxyNameLength: CGFloat = { diff --git a/ClashX Dashboard/Models/DBProviderStorage.swift b/ClashX Dashboard/Models/DBProviderStorage.swift index 5e10293..1f938d3 100644 --- a/ClashX Dashboard/Models/DBProviderStorage.swift +++ b/ClashX Dashboard/Models/DBProviderStorage.swift @@ -16,7 +16,7 @@ class DBProviderStorage: ObservableObject { } class DBProxyProvider: ObservableObject, Identifiable { - let id: String + let id = UUID().uuidString @Published var name: ClashProviderName @Published var proxies: [DBProxy] @@ -29,8 +29,6 @@ class DBProxyProvider: ObservableObject, Identifiable { @Published var updatedAt: String init(provider: ClashProvider) { - id = provider.id - name = provider.name proxies = provider.proxies.map(DBProxy.init) type = provider.type diff --git a/ClashX Dashboard/Models/DBProxyStorage.swift b/ClashX Dashboard/Models/DBProxyStorage.swift index 48578e4..31dd159 100644 --- a/ClashX Dashboard/Models/DBProxyStorage.swift +++ b/ClashX Dashboard/Models/DBProxyStorage.swift @@ -22,7 +22,7 @@ class DBProxyStorage: ObservableObject { } class DBProxyGroup: ObservableObject, Identifiable { - let id: String + let id = UUID().uuidString @Published var name: ClashProxyName @Published var type: ClashProxyType @Published var now: ClashProxyName? { @@ -38,7 +38,6 @@ class DBProxyGroup: ObservableObject, Identifiable { @Published var currentProxy: DBProxy? init(_ group: ClashProxy, resp: ClashProxyResp) { - id = group.id name = group.name type = group.type now = group.now @@ -71,7 +70,7 @@ class DBProxy: ObservableObject { @Published var delayColor: Color init(_ proxy: ClashProxy) { - id = proxy.id + id = proxy.id ?? UUID().uuidString name = proxy.name type = proxy.type tfo = proxy.tfo diff --git a/ClashX Dashboard/Views/APISetting/ClashServerAppStorage.swift b/ClashX Dashboard/Views/APISetting/ClashServerAppStorage.swift index f809c9b..f30e3ef 100644 --- a/ClashX Dashboard/Views/APISetting/ClashServerAppStorage.swift +++ b/ClashX Dashboard/Views/APISetting/ClashServerAppStorage.swift @@ -10,7 +10,7 @@ import SwiftUI typealias SavedServersAppStorage = [ClashServerAppStorage] struct ClashServerAppStorage: Codable, Identifiable { - let id = UUID().uuidString + var id = UUID().uuidString let apiURL: String let secret: String }