LoginAPI.swift 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // LoginAPI.swift
  3. // fiveConstant
  4. //
  5. // Created by 李建 on 2023/1/18.
  6. //
  7. import Foundation
  8. import Moya
  9. enum LoginAPI {
  10. case getCheckCode(data: GetCheckCodeReq)
  11. case smsLogin(param: SMSLoginReq)
  12. case passwordLogin(param: PasswordLoginReq)
  13. }
  14. extension LoginAPI: TargetType {
  15. var baseURL: URL {
  16. return URL(string: BASE_URL)!
  17. }
  18. var headers: [String : String]? {
  19. return nil
  20. }
  21. var sampleData: Data {
  22. return "{}".data(using: String.Encoding.utf8)!
  23. }
  24. var path: String {
  25. switch self {
  26. case .getCheckCode:
  27. return "/api/v1/login/code"
  28. case .smsLogin:
  29. return "/api/v1/login/sms"
  30. case .passwordLogin:
  31. return "/api/v1/login/password"
  32. }
  33. }
  34. var method: Moya.Method {
  35. return .post
  36. }
  37. var task: Moya.Task {
  38. switch self {
  39. case .getCheckCode(let data):
  40. return .requestJSONEncodable(data)
  41. case .smsLogin(let p):
  42. return .requestJSONEncodable(p)
  43. case .passwordLogin(let param):
  44. return .requestJSONEncodable(param)
  45. }
  46. }
  47. }