BarkApi.swift 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // BarkApi.swift
  3. // Bark
  4. //
  5. // Created by huangfeng on 2018/6/25.
  6. // Copyright © 2018 Fin. All rights reserved.
  7. //
  8. import UIKit
  9. enum BarkApi {
  10. case ping(baseURL: String?)
  11. case register(address: String, key: String?, devicetoken: String) // 注册设备
  12. }
  13. extension BarkApi: BarkTargetType {
  14. var baseURL: URL {
  15. switch self {
  16. case let .ping(urlStr):
  17. if let url = URL(string: urlStr ?? "") {
  18. return url
  19. }
  20. case let .register(address, _, _):
  21. if let url = try? address.asURL() {
  22. return url
  23. }
  24. }
  25. return try! ServerManager.shared.currentServer.address.asURL()
  26. }
  27. var parameters: [String: Any]? {
  28. switch self {
  29. case let .register(_, key, devicetoken):
  30. var params = ["devicetoken": devicetoken]
  31. if let key = key {
  32. params["key"] = key
  33. }
  34. return params
  35. default:
  36. return nil
  37. }
  38. }
  39. var path: String {
  40. switch self {
  41. case .ping:
  42. return "/ping"
  43. case .register:
  44. return "/register"
  45. }
  46. }
  47. }