CoachAPI.swift 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. //
  2. // CoachAPI.swift
  3. // JiaPeiManage
  4. //
  5. // Created by Ning.ge on 2023/6/13.
  6. //
  7. import Moya
  8. import SwiftyUserDefaults
  9. enum CoachAPI {
  10. //获取教练信息
  11. case coachInfo(id:String ,city:String)
  12. //获取教练二维码
  13. case coachQrInfo(id:String ,city:String)
  14. //获取教练的学员
  15. case coachInfoList(city:String,appCoachId:String ,coachId:String ,field:String ,pageNum:Int ,pageSize:Int ,schoolId:Int ,state:String )
  16. }
  17. extension CoachAPI: TargetType {
  18. var baseURL: URL {
  19. switch self {
  20. case .coachInfo,.coachQrInfo,.coachInfoList:
  21. return URL(string: HttpRequest.api.path)!
  22. }
  23. }
  24. var path: String {
  25. switch self {
  26. case .coachInfo(_,_):
  27. return "/jsjp-admin/open-api/tms/coachInfo/getCoachInfo"
  28. case .coachQrInfo(_,_):
  29. return "/jsjp-admin/open-api/tms/coachInfo/getCoachQrInfo"
  30. case .coachInfoList(_,_,_,_,_,_,_,_):
  31. return "/jsjp-admin/open-api/tms/coachInfo/list"
  32. }
  33. }
  34. var method: Moya.Method {
  35. switch self {
  36. case .coachInfo,.coachQrInfo,.coachInfoList:
  37. return .get
  38. default:
  39. return .get
  40. }
  41. }
  42. var sampleData: Data {
  43. return Data()
  44. }
  45. var task: Moya.Task {
  46. switch self {
  47. case .coachInfo(_,_),.coachQrInfo(_,_),.coachInfoList(_,_,_,_,_,_,_,_):
  48. if let parameters = parameters {
  49. return .requestParameters(parameters: parameters, encoding: URLEncoding.default)
  50. }
  51. return .requestPlain
  52. }
  53. }
  54. var headers: [String: String]? {
  55. return ["Content-Type":"application/json"]
  56. }
  57. var parameters: [String : Any]? {
  58. switch self {
  59. case let .coachInfo(id,city):
  60. return ["city": city,
  61. "id": id,]
  62. case let .coachQrInfo(id,city):
  63. return ["city": city,
  64. "id": id,]
  65. case let .coachInfoList(city,appCoachId ,coachId ,field ,pageNum ,pageSize ,schoolId ,state):
  66. return ["city": city,
  67. "appCoachId": appCoachId,
  68. "coachId": coachId,
  69. "field": field,
  70. "pageNum": pageNum,
  71. "pageSize": pageSize,
  72. // "schoolId": schoolId,
  73. "state": state,]
  74. default:
  75. return nil
  76. }
  77. }
  78. }