ProviderSupport.swift 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // ProviderSupport.swift
  3. // SolarBT
  4. //
  5. // Created by weclouds on 2019/5/21.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import Foundation
  9. import Moya
  10. import Alamofire
  11. let moyaBase = "http://www.solar-bt.com/api/"
  12. //MARK: - Provider support
  13. func stubbedResponse(_ filename:String) ->Data!{
  14. @objc class TestClass:NSObject{}
  15. let bundle = Bundle(for: TestClass.self)
  16. let path = bundle.path(forResource: filename, ofType: "json")
  17. return (try? Data(contentsOf: URL(fileURLWithPath: path!)))
  18. }
  19. private extension String{
  20. var URLEscapedString :String{
  21. return self.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlHostAllowed)!
  22. }
  23. }
  24. func url(_ route:TargetType) -> String {
  25. return route.baseURL.appendingPathComponent(route.path).absoluteString
  26. }
  27. public func JOSNResponseDataFormatter(_ data: Data)->Data{
  28. do{
  29. let dataAsJSON = try JSONSerialization.jsonObject(with: data)
  30. let prettyData = try JSONSerialization.data(withJSONObject: dataAsJSON, options: .prettyPrinted)
  31. return prettyData
  32. }catch{
  33. return data//fallback to original data if it can't be serialized
  34. }
  35. }