// // LoginAPI.swift // JiaPeiManage // // Created by Ning.ge on 2023/6/12. // import Moya import SwiftyUserDefaults enum LoginAPI { //登录 case loginUser(user_name:String, user_password:String ,city:String) //修改密码 case updateUser(user_name:String, user_password:String, new_password:String,city:String) //根据字典类型查询字典数据信息 case dictUser(dictType:String) //授权 case authorizationCode(code:String,city:String) //绑定 case biandUser(idcard:String, user_password:String, openid:String,city:String) //解绑 case unbiandUser(idcard:String, user_password:String, city:String) } extension LoginAPI: TargetType { var isShowLoading:Bool { return true } var baseURL: URL { switch self { case .loginUser,.updateUser,.dictUser ,.authorizationCode,.biandUser,.unbiandUser: return URL(string: HttpRequest.api.path)! } } var path: String { switch self { case .loginUser(_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/coachInfoLogin" case .updateUser(_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/updateCoachPassword" case .authorizationCode(_,_): return "/jsjp-admin/login/code" case .biandUser(_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/bindCoachOpenid" case .unbiandUser(_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/unBindCoachOpenid" case .dictUser(_): if let parameters = parameters { return "/jsjp-admin/open-api/gzpt/userInfo/type/\(parameters["dictType"] ?? "")" } return "" } } var method: Moya.Method { switch self { case .loginUser,.dictUser: return .get case .updateUser: return .put case .biandUser: return .put case .unbiandUser: return .put case .authorizationCode: return .post default: return .get } } var sampleData: Data { return Data() } var task: Moya.Task { switch self { case .loginUser(_,_,_): if let parameters = parameters { return .requestParameters(parameters: parameters, encoding: URLEncoding.default) } return .requestPlain case .updateUser(_,_,_,_): if let parameters = parameters { return .requestParameters(parameters: parameters, encoding: URLEncoding.default) } return .requestPlain case .dictUser(_): return .requestPlain default : if let parameters = parameters { return .requestParameters(parameters: parameters, encoding: URLEncoding.default) } return .requestPlain } } var headers: [String: String]? { switch self { case .updateUser,.authorizationCode: return ["Content-Type":"application/x-www-form-urlencoded"] default: return ["Content-Type":"application/json"] } } var parameters: [String : Any]? { switch self { case let .loginUser(user_name, user_password,city): return ["city": city, "idcard": user_name, "password":user_password,] case let .updateUser(user_name, user_password,new_password, city): return ["city": city, "idcard": user_name, "password":user_password, "newPassword":new_password,] case let .authorizationCode(code, city): return ["authorizationCode": code, "city": city,] case let .biandUser(idcard, user_password, openid, city): return ["idcard": idcard, "password": user_password, "openid": openid, "city": city,] case let .unbiandUser(idcard, user_password, city): return ["idcard": idcard, "password": user_password, "city": city,] case let .dictUser(dictType): return ["dictType": dictType] default: return nil } } var urlParameters: [String: Any]? { var parameters = parameters // if let extendsParameters = ["":""] { // parameters = parameters?.merging(extendsParameters) { $1 } //组合 // } return parameters } }