LoginAPI.swift 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. //
  2. // LoginAPI.swift
  3. // JiaPeiManage
  4. //
  5. // Created by Ning.ge on 2023/6/12.
  6. //
  7. import Moya
  8. import SwiftyUserDefaults
  9. enum LoginAPI {
  10. //登录
  11. case loginUser(user_name:String, user_password:String ,city:String)
  12. //修改密码
  13. case updateUser(user_name:String, user_password:String, new_password:String,city:String)
  14. //根据字典类型查询字典数据信息
  15. case dictUser(dictType:String)
  16. //授权
  17. case authorizationCode(code:String,city:String)
  18. //绑定
  19. case biandUser(idcard:String, user_password:String, openid:String,city:String)
  20. //解绑
  21. case unbiandUser(idcard:String, user_password:String, city:String)
  22. }
  23. extension LoginAPI: TargetType {
  24. var isShowLoading:Bool { return true }
  25. var baseURL: URL {
  26. switch self {
  27. case .loginUser,.updateUser,.dictUser
  28. ,.authorizationCode,.biandUser,.unbiandUser:
  29. return URL(string: HttpRequest.api.path)!
  30. }
  31. }
  32. var path: String {
  33. switch self {
  34. case .loginUser(_,_,_):
  35. return "/jsjp-admin/open-api/tms/coachInfo/coachInfoLogin"
  36. case .updateUser(_,_,_,_):
  37. return "/jsjp-admin/open-api/tms/coachInfo/updateCoachPassword"
  38. case .authorizationCode(_,_):
  39. return "/jsjp-admin/login/code"
  40. case .biandUser(_,_,_,_):
  41. return "/jsjp-admin/open-api/tms/coachInfo/bindCoachOpenid"
  42. case .unbiandUser(_,_,_):
  43. return "/jsjp-admin/open-api/tms/coachInfo/unBindCoachOpenid"
  44. case .dictUser(_):
  45. if let parameters = parameters {
  46. return "/jsjp-admin/open-api/gzpt/userInfo/type/\(parameters["dictType"] ?? "")"
  47. }
  48. return ""
  49. }
  50. }
  51. var method: Moya.Method {
  52. switch self {
  53. case .loginUser,.dictUser:
  54. return .get
  55. case .updateUser:
  56. return .put
  57. case .biandUser:
  58. return .put
  59. case .unbiandUser:
  60. return .put
  61. case .authorizationCode:
  62. return .post
  63. default:
  64. return .get
  65. }
  66. }
  67. var sampleData: Data {
  68. return Data()
  69. }
  70. var task: Moya.Task {
  71. switch self {
  72. case .loginUser(_,_,_):
  73. if let parameters = parameters {
  74. return .requestParameters(parameters: parameters, encoding: URLEncoding.default)
  75. }
  76. return .requestPlain
  77. case .updateUser(_,_,_,_):
  78. if let parameters = parameters {
  79. return .requestParameters(parameters: parameters, encoding: URLEncoding.default)
  80. }
  81. return .requestPlain
  82. case .dictUser(_):
  83. return .requestPlain
  84. default :
  85. if let parameters = parameters {
  86. return .requestParameters(parameters: parameters, encoding: URLEncoding.default)
  87. }
  88. return .requestPlain
  89. }
  90. }
  91. var headers: [String: String]? {
  92. switch self {
  93. case .updateUser,.authorizationCode:
  94. return ["Content-Type":"application/x-www-form-urlencoded"]
  95. default:
  96. return ["Content-Type":"application/json"]
  97. }
  98. }
  99. var parameters: [String : Any]? {
  100. switch self {
  101. case let .loginUser(user_name, user_password,city):
  102. return ["city": city,
  103. "idcard": user_name,
  104. "password":user_password,]
  105. case let .updateUser(user_name, user_password,new_password, city):
  106. return ["city": city,
  107. "idcard": user_name,
  108. "password":user_password,
  109. "newPassword":new_password,]
  110. case let .authorizationCode(code, city):
  111. return ["authorizationCode": code,
  112. "city": city,]
  113. case let .biandUser(idcard, user_password, openid, city):
  114. return ["idcard": idcard,
  115. "password": user_password,
  116. "openid": openid,
  117. "city": city,]
  118. case let .unbiandUser(idcard, user_password, city):
  119. return ["idcard": idcard,
  120. "password": user_password,
  121. "city": city,]
  122. case let .dictUser(dictType):
  123. return ["dictType": dictType]
  124. default:
  125. return nil
  126. }
  127. }
  128. var urlParameters: [String: Any]? {
  129. var parameters = parameters
  130. // if let extendsParameters = ["":""] {
  131. // parameters = parameters?.merging(extendsParameters) { $1 } //组合
  132. // }
  133. return parameters
  134. }
  135. }