IHAirPurifiersApi.swift 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. //
  2. // IHAirPurifiersApi.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/9.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import Moya
  10. import Alamofire
  11. let AirPurifiersProvider = MoyaProvider<AirPurifiersApi>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin])
  12. enum AirPurifiersApi {
  13. //设备列表
  14. case purifier_purifier_list(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?,buildId:String?,roomId:String?,page:Int,count:Int,keywords:String?)
  15. //添加编辑设备
  16. case purifier_save_purifier(username:String,client_key:String,os:String,version:String,token:String,purifierId:String?,name:String,deviceId:String,floorId:String,roomId:String,image:String,model:String,gatewayId:String)
  17. //设备详情 /purifier/purifier_info
  18. case purifier_purifier_info(username:String,client_key:String,os:String,version:String,token:String,purifierId:String)
  19. //删除设备
  20. case purifier_del_purifier(username:String,client_key:String,os:String,version:String,token:String,purifierId:String)
  21. //开关空气净化器
  22. case purifier_trun_off_device(username:String,client_key:String,os:String,version:String,token:String,purifierId:String,status:String,level:String?)
  23. //设备日志信息
  24. case purifier_purifier_report(username:String,client_key:String,os:String,version:String,token:String,purifierId:String,dateType:String,date:String?)
  25. }
  26. extension AirPurifiersApi: TargetType{
  27. var base :String {
  28. return moyaBase
  29. }
  30. var baseURL: URL {
  31. return URL(string:base)!
  32. }
  33. var path: String {
  34. switch self {
  35. case .purifier_purifier_list:
  36. return "purifier/purifier_list"
  37. case .purifier_save_purifier:
  38. return "purifier/save_purifier"
  39. case .purifier_purifier_info:
  40. return "purifier/purifier_info"
  41. case .purifier_del_purifier:
  42. return "purifier/del_purifier"
  43. case .purifier_trun_off_device:
  44. return "purifier/trun_off_device"
  45. case .purifier_purifier_report:
  46. return "purifier/purifier_report"
  47. }
  48. }
  49. var method: Moya.Method {
  50. return .post
  51. }
  52. var sampleData: Data {
  53. switch self {
  54. case .purifier_purifier_list:
  55. return stubbedResponse("purifier_purifier_list")
  56. case .purifier_save_purifier:
  57. return stubbedResponse("purifier_save_purifier")
  58. case .purifier_purifier_info:
  59. return stubbedResponse("purifier_purifier_info")
  60. case .purifier_del_purifier:
  61. return stubbedResponse("purifier_del_purifier")
  62. case .purifier_trun_off_device:
  63. return stubbedResponse("purifier_trun_off_device")
  64. case .purifier_purifier_report:
  65. return stubbedResponse("purifier_purifier_report")
  66. }
  67. }
  68. var task: Task {
  69. switch self {
  70. case .purifier_purifier_list(let username, let client_key, let os, let version,let token,let hotelId, let buildId, let roomId, let page, let type, let keywords):
  71. var p = ["username" :username,
  72. "client_key":client_key,
  73. "os":os,
  74. "version":version ,
  75. "token":token,
  76. "page":page,
  77. "type":type ] as [String : Any]
  78. if let keywords = keywords{
  79. p["keywords"] = keywords
  80. }
  81. if let hotelId = hotelId {
  82. p["hotelId"] = hotelId
  83. }
  84. if let buildId = buildId {
  85. p["buildId"] = buildId
  86. }
  87. if let roomId = roomId {
  88. p["roomId"] = roomId
  89. }
  90. return .requestParameters(parameters: p,
  91. encoding: URLEncoding.default)
  92. case .purifier_save_purifier(let username, let client_key, let os, let version,let token, let purifierId, let name, let deviceId, let floorId, let roomId,let image,let model,let gatewayId):
  93. var p = ["username" :username,
  94. "client_key":client_key,
  95. "os":os,
  96. "version":version ,
  97. "token":token,
  98. "name":name,
  99. "deviceId":deviceId,
  100. "floorId":floorId ,
  101. "roomId":roomId,"image":image,
  102. "model":model,"gatewayId":gatewayId]
  103. if let purifierId = purifierId{
  104. p["purifierId"] = purifierId
  105. }
  106. return .requestParameters(parameters: p as [String : Any],
  107. encoding: URLEncoding.default)
  108. case .purifier_purifier_info(let username, let client_key, let os, let version,let token, let purifierId):
  109. let p = ["username" :username,
  110. "client_key":client_key,
  111. "os":os,
  112. "version":version,
  113. "token":token,
  114. "purifierId":purifierId]
  115. return .requestParameters(parameters: p,
  116. encoding: URLEncoding.default)
  117. case .purifier_del_purifier(let username, let client_key, let os, let version, let token,let purifierId):
  118. let p = ["username" :username,
  119. "client_key":client_key,
  120. "os":os,
  121. "version":version,
  122. "token":token,
  123. "purifierId":purifierId]
  124. return .requestParameters(parameters: p,
  125. encoding: URLEncoding.default)
  126. case .purifier_trun_off_device(let username, let client_key, let os, let version,let token, let purifierId, let status, let level):
  127. var p = ["username" :username,
  128. "client_key":client_key,
  129. "os":os,
  130. "version":version,
  131. "token":token,
  132. "purifierId":purifierId,
  133. "status":status,]
  134. if let level = level{
  135. p["level"] = level
  136. }
  137. return .requestParameters(parameters: p,
  138. encoding: URLEncoding.default)
  139. case .purifier_purifier_report(let username, let client_key, let os, let version,let token, let purifierId, let dateType ,let date):
  140. var p = ["username" :username,
  141. "client_key":client_key,
  142. "os":os,
  143. "version":version,
  144. "token":token,
  145. "purifierId":purifierId,
  146. "dateType":dateType]
  147. if let date = date {
  148. p["date"] = date
  149. }
  150. return .requestParameters(parameters: p,
  151. encoding: URLEncoding.default)
  152. }
  153. }
  154. var headers: [String : String]? {
  155. return nil
  156. }
  157. }