// // MeViewModel.swift // naiyoup // // Created by C Auto on 2021/7/26. // import Foundation import SwiftyUserDefaults class MeViewModel: ObservableObject { static let me = MeViewModel() @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 username : String = "" @Published var password : String = "" @Published var expired_at : String = "" @Published var unusedTraffic : String = "" @Published var userModel : UserModel? = nil @Published var isRead : String = "刷新" func GetUserName() { let username = Defaults[\.username] ?? "" self.username = username } func GetPassword() { let password = Defaults[\.passrowd] ?? "" self.password = password } func GetProfile() { //请求登陆 self.ShowLoading() NetworkApi.shared.GetProfile { userModel in self.isAlt = false self.HidLoading() self.expired_at = userModel?.expired_at ?? "" self.unusedTraffic = userModel?.unusedTraffic ?? "" self.userModel = userModel } failure: { err in self.HidLoading() self.isAlt = true self.SetError(err: err) } } 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 } }