// // APIService.swift // XuXuCheck // // Created by henseycai on 2025/6/18. // import Foundation import Alamofire import AlamofireObjectMapper struct XuXuRespError: Error { var code: Int = 0 var message: String? } struct APIService { //MARK: - Singleton static let instance = APIService() private init(){} //MARK: - URL func userLogin(with username:String,with code:String,with password:String,completion:@escaping (MemberModel?, XuXuRespError?)->()){ Alamofire.request(Router.interface_login(username,code, password)).responseObject{ (response:DataResponse) in debugPrint("Alamofire userLogin~~~~ ") if let data = response.data{ let rawString = String(decoding: data, as: UTF8.self) print(rawString) } // dump(response.data) // debugPrint(response.data ?? "") // // print(response.data ?? "") if let error = response.error{ debugPrint(error) var err = XuXuRespError() err.code = 10086 err.message = "Unknown error" completion(nil,err) //completion(nil,error) return } if let model = response.result.value{ //guard let setCookie = response.response?.allHeaderFields["Set-Cookie"] else {return} //Storage.shared.setCookie = setCookie as! String if model.code > 0{ var err = XuXuRespError() err.code = model.code err.message = model.message completion(nil,err) return } completion(model,nil) return } } } func getVCode(with mobile:String,with check:String,with forW:String,completion:@escaping (MemberModel?, XuXuRespError?)->()){ Alamofire.request(Router.interface_verified_code(mobile, check, forW)).responseObject{ (response:DataResponse) in debugPrint("Alamofire getVcode~~~~ ") //dump(response.data) // if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) { // print("Data: \(utf8Text)") // } if let data = response.data{ let rawString = String(decoding: data, as: UTF8.self) print(rawString) } if let error = response.error{ debugPrint(error) var err = XuXuRespError() err.code = 10086 err.message = "Unknown error" completion(nil,err) //completion(nil,error) return } } } func userRegister(with username:String,with code:String,with password:String,with confirm_password:String,completion:@escaping (MemberModel?, XuXuRespError?)->()){ Alamofire.request(Router.interface_register(username, code, password, confirm_password)).responseObject{ (response:DataResponse) in debugPrint("Alamofire register~~~~ ") // dump(response.data) // debugPrint(response.data ?? "") // // print(response.data ?? "") if let data = response.data{ let rawString = String(decoding: data, as: UTF8.self) print(rawString) } if let error = response.error{ debugPrint(error) var err = XuXuRespError() err.code = 10086 err.message = "Unknown error" completion(nil,err) //completion(nil,error) return } if let model = response.result.value{ //guard let setCookie = response.response?.allHeaderFields["Set-Cookie"] else {return} //Storage.shared.setCookie = setCookie as! String if model.code > 0{ var err = XuXuRespError() err.code = model.code err.message = model.message completion(nil,err) return } completion(model,nil) return } } } func userForgetpwd(with username:String,with code:String,with password:String,with confirm_password:String,completion:@escaping (MemberModel?, XuXuRespError?)->()){ Alamofire.request(Router.interface_forgetpwd(username, code, password, confirm_password)).responseObject{ (response:DataResponse) in debugPrint("Alamofire forget~~~~ ") // dump(response.data) // debugPrint(response.data ?? "") // // print(response.data ?? "") // if let data = response.data{ let rawString = String(decoding: data, as: UTF8.self) print(rawString) } if let error = response.error{ debugPrint(error) var err = XuXuRespError() err.code = 10086 err.message = "Unknown error" completion(nil,err) //completion(nil,error) return } if let model = response.result.value{ //guard let setCookie = response.response?.allHeaderFields["Set-Cookie"] else {return} //Storage.shared.setCookie = setCookie as! String if model.code > 0{ var err = XuXuRespError() err.code = model.code err.message = model.message completion(nil,err) return } completion(model,nil) return } } } func getSelf(completion:@escaping (MemberModel?, XuXuRespError?)->()){ Alamofire.request(Router.interface_family_getself).responseObject{ (response:DataResponse) in debugPrint("Alamofire getself~~~~ ") // dump(response.data) // debugPrint(response.data ?? "") // // print(response.data ?? "") if let data = response.data{ let rawString = String(decoding: data, as: UTF8.self) print(rawString) } if let error = response.error{ debugPrint(error) var err = XuXuRespError() err.code = 10086 err.message = "Unknown error" completion(nil,err) //completion(nil,error) return } if let model = response.result.value{ if model.code > 0{ var err = XuXuRespError() err.code = model.code err.message = model.message completion(nil,err) return } completion(model,nil) return } } } func addNewRecord(with paperDesc:[Int],with ResultData:[[[Double]]],completion:@escaping (RecordResultModel?, XuXuRespError?)->()){ Alamofire.request(Router.interface_result_addrecord(paperDesc, ResultData)).responseObject{ (response:DataResponse) in debugPrint("Alamofire addNewRecord~~~~ ") if let data = response.data{ let rawString = String(decoding: data, as: UTF8.self) print(rawString) } // dump(response.data) // debugPrint(response.data ?? "") // // print(response.data ?? "") // if let error = response.error{ debugPrint(error) var err = XuXuRespError() err.code = 10086 err.message = "Unknown error" completion(nil,err) //completion(nil,error) return } if let model = response.result.value{ //guard let setCookie = response.response?.allHeaderFields["Set-Cookie"] else {return} //Storage.shared.setCookie = setCookie as! String if model.code > 0{ var err = XuXuRespError() err.code = model.code err.message = model.message completion(nil,err) return } completion(model,nil) return } } } }