// // NodelViewModel.swift // naiyoup // // Created by C Auto on 2021/6/4. // import Foundation import SwiftyUserDefaults class NodelViewModel: ObservableObject { static let nodel = NodelViewModel() @Published var errmsg : String = "" @Published var isAlt : Bool = false @Published var loading : Bool = false @Published var isActive : Bool = false @Published var isEerr : Bool = false @Published var nodeList : [NodelModel] = [] //设置当前选这种的线路 @Published var nodeModel : NodelModel? = nil //请求节点 func GetNode(){ self.ShowLoading() NetworkApi.shared.GetNode { arr in self.isAlt = false self.nodeList = arr self.HidLoading() } failure: { error in self.HidLoading() self.isAlt = true self.SetError(err: error) } } func updateNodelms(index:Int,ms:Int) { self.nodeList[index].ping_ms = ms } private func SetViewError(msg:String) { self.errmsg = msg } func SetError(err: ErrorCode) { switch err{ case .sysError(let ret): // self.errmsg = ret self.SetViewError(msg: ret) break; case .invalidResponse(let ret): //self.errmsg = ret self.SetViewError(msg: ret) break case .networkUnavailable(let msg, let code): //self.errmsg = "\(String(describing: msg))\(String(describing: code))" self.SetViewError(msg: "\(String(describing: msg))\(String(describing: code))") break case .needRetrier(_, _, _): break case .uploadError(_, _, _, _, _): break case .tokenError(let msg): self.errmsg = msg // self.islogin = false Defaults[\.loginModel] = "" } } func LoginLoading(){ self.isActive = true // self.islogin = true self.isAlt = false } func LoginHidLoading(){ self.isActive = false // self.islogin = false self.isAlt = true } func ShowLoading() { self.loading = true } func HidLoading(){ self.loading = false } func SetEerr(){ self.isEerr = true } }