// // CoachAPI.swift // JiaPeiManage // // Created by Ning.ge on 2023/6/13. // import Moya import SwiftyUserDefaults enum CoachAPI { //获取教练信息 case coachInfo(id:String ,city:String) //获取教练二维码 case coachQrInfo(id:String ,city:String) //获取教练的学员 case coachInfoList(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String ) //获取教练预报名的学员 case coachTempList(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String ) //通过id获取学员详细 case studentInfoById(city:String,id:Int ) //查询成绩 case stuScoreByOutId(pageNum:Int ,pageSize:Int ,stuOutId:Int) //查询签到记录 case stuTmsSignListByStuId(pageNum:Int ,pageSize:Int ,stuOutId:Int,city:String) //查询人脸比对记录 case stuTmsLogFacListByStuId(pageNum:Int ,pageSize:Int ,stuOutId:Int,city:String) } extension CoachAPI: TargetType { var baseURL: URL { switch self { case .coachInfo,.coachQrInfo,.coachInfoList,.coachTempList,.studentInfoById, .stuScoreByOutId,.stuTmsSignListByStuId,.stuTmsLogFacListByStuId: return URL(string: HttpRequest.api.path)! } } var path: String { switch self { case .coachInfo(_,_): return "/jsjp-admin/open-api/tms/coachInfo/getCoachInfo" case .coachQrInfo(_,_): return "/jsjp-admin/open-api/tms/coachInfo/getCoachQrInfo" case .coachInfoList(_,_,_,_,_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/list" case .coachTempList(_,_,_,_,_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/studenTempList" case .studentInfoById(_,_): return "/jsjp-admin/open-api/tms/coachInfo/getTmsStudentInfoById" case .stuScoreByOutId(_,_,_): return "/jsjp-admin/open-api/gzpt/userInfo/getUserScoreByOutId" case .stuTmsSignListByStuId(_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/getTmsSignListByStuId" case .stuTmsLogFacListByStuId(_,_,_,_): return "/jsjp-admin/open-api/tms/coachInfo/getTmsLogFacListByStuId" } } var method: Moya.Method { switch self { case .coachInfo,.coachQrInfo,.coachInfoList,.coachTempList, .studentInfoById,.stuScoreByOutId,.stuTmsLogFacListByStuId: return .get default: return .get } } var sampleData: Data { return Data() } var task: Moya.Task { switch self { case .coachInfo(_,_),.coachQrInfo(_,_),.coachInfoList(_,_,_,_,_,_,_,_),.coachTempList(_,_,_,_,_,_,_,_),.studentInfoById(_,_) ,.stuScoreByOutId(_,_,_),.stuTmsSignListByStuId(_,_,_,_),.stuTmsLogFacListByStuId(_,_,_,_): if let parameters = parameters { return .requestParameters(parameters: parameters, encoding: URLEncoding.default) } return .requestPlain } } var headers: [String: String]? { return ["Content-Type":"application/json"] } var parameters: [String : Any]? { switch self { case let .coachInfo(id,city): return ["city": city, "id": id,] case let .coachQrInfo(id,city): return ["city": city, "id": id,] case let .coachTempList(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state): return ["city": city, "appCoachId": appCoachId, "coachId": coachId, "field": field, "pageNum": pageNum, "pageSize": pageSize, "schoolId": schoolId==0 ?"":"\(schoolId)", "state": state,] case let .coachInfoList(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state): return ["city": city, "appCoachId": appCoachId, "coachId": coachId, "field": field, "pageNum": pageNum, "pageSize": pageSize, "schoolId": schoolId==0 ?"":"\(schoolId)", "state": state,] case let .studentInfoById(city,id): return ["city": city, "id": id,] case let .stuScoreByOutId(pageNum, pageSize, stuOutId): return ["pageNum": pageNum, "pageSize": pageSize, "stuOutId": stuOutId,] case let .stuTmsSignListByStuId(pageNum, pageSize, stuOutId, city): return ["pageNum": pageNum, "pageSize": pageSize, "id": stuOutId, "city":city,] case let .stuTmsLogFacListByStuId(pageNum, pageSize, stuOutId, city): return ["pageNum": pageNum, "pageSize": pageSize, "id": stuOutId, "city":city,] default: return nil } } }