UserApi.swift 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // UserApi.swift
  3. // fiveConstant
  4. //
  5. // Created by 李建 on 2023/1/29.
  6. //
  7. import Foundation
  8. import Moya
  9. import SwiftyUserDefaults
  10. enum UserApi {
  11. case curent
  12. case myRooms
  13. case roomInfo(recordId: String)
  14. }
  15. extension UserApi: TargetType {
  16. var headers: [String : String]? {
  17. return ["Authorization": "Bearer \(Defaults[\.token] ?? "")"]
  18. }
  19. var baseURL: URL {
  20. return URL(string: BASE_URL)!
  21. }
  22. var path: String {
  23. switch self {
  24. case .curent:
  25. return "/api/v1/users/current"
  26. case .myRooms:
  27. return "/api/v1/rooms"
  28. case .roomInfo(let recordId):
  29. return "/api/v1/rooms/\(recordId)"
  30. }
  31. }
  32. var method: Moya.Method {
  33. switch self {
  34. case .curent:
  35. return .get
  36. default:
  37. return .get
  38. }
  39. }
  40. var task: Moya.Task {
  41. switch self {
  42. case .curent:
  43. return .requestPlain
  44. case .myRooms:
  45. return .requestParameters(parameters: ["q": "list", "home_id": Defaults[\.defaultHomeId] ?? ""], encoding: URLEncoding.default)
  46. case .roomInfo:
  47. return .requestPlain
  48. }
  49. }
  50. }