IHSensorApi.swift 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. //
  2. // IHSensorApi.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. //plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin]
  12. let SenSorProvider = MoyaProvider<SensorApi>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin])
  13. enum SensorApi {
  14. //设备列表
  15. case sensor_sensor_list(username:String,client_key:String,os:String,version:String,token:String,hotelId:String?, buildId:String?,roomId:String?,page:Int,count:Int,keywords:String?)
  16. //添加编辑设备
  17. case sensor_save_sensor(username:String,client_key:String,os:String,version:String,token:String,sensorId:String?,name:String,deviceId:String,floorId:String,roomId:String,image:String,model : String,gatewayId : String)
  18. //设备详情
  19. case sensor_sensor_info(username:String,client_key:String,os:String,version:String,token:String,sensorId:String)
  20. //删除设备
  21. case sensor_del_sensor(username:String,client_key:String,os:String,version:String,token:String,sensorId:String)
  22. //设备历史记录
  23. case sensor_sensor_history(username:String,client_key:String,os:String,version:String,token:String,deviceId:String,date_type:String)
  24. //开关探头3秒巡检指令
  25. case sensor_set_status(username:String,client_key:String,os:String,version:String,token:String,clientId:String,id:String,status:String)
  26. }
  27. extension SensorApi: TargetType{
  28. var base :String {
  29. return moyaBase
  30. }
  31. var baseURL: URL {
  32. return URL(string:base)!
  33. }
  34. var path: String {
  35. switch self {
  36. case .sensor_sensor_list:
  37. return "sensor/sensor_list"
  38. case .sensor_save_sensor:
  39. return "sensor/save_sensor"
  40. case .sensor_sensor_info:
  41. return "sensor/sensor_info"
  42. case .sensor_del_sensor:
  43. return "sensor/del_sensor"
  44. case .sensor_sensor_history:
  45. return "sensor/sensor_history"
  46. case .sensor_set_status:
  47. return "sensor/set_status"
  48. }
  49. }
  50. var method: Moya.Method {
  51. return .post
  52. }
  53. var sampleData: Data {
  54. switch self {
  55. case .sensor_sensor_list:
  56. return stubbedResponse("sensor_sensor_list")
  57. case .sensor_save_sensor:
  58. return stubbedResponse("sensor_save_sensor")
  59. case .sensor_sensor_info:
  60. return stubbedResponse("sensor_sensor_info")
  61. case .sensor_del_sensor:
  62. return stubbedResponse("lamp_del_light")
  63. case .sensor_sensor_history:
  64. return stubbedResponse("sensor_sensor_history")
  65. case .sensor_set_status:
  66. return stubbedResponse("sensor_set_status")
  67. }
  68. }
  69. var task: Task {
  70. switch self {
  71. case .sensor_sensor_list(let username, let client_key, let os, let version,let token,let hotelId, let buildId, let roomId, let page, let count,let keywords):
  72. var p = ["username" :username,
  73. "client_key":client_key,
  74. "os":os,
  75. "version":version ,
  76. "token":token,
  77. "page":page,
  78. "count":count] as [String : Any]
  79. if let keywords = keywords{
  80. p["keywords"] = keywords
  81. }
  82. if let hotelId = hotelId {
  83. p["hotelId"] = hotelId
  84. }
  85. if let buildId = buildId {
  86. p["buildId"] = buildId
  87. }
  88. if let roomId = roomId {
  89. p["roomId"] = roomId
  90. }
  91. return .requestParameters(parameters: p,
  92. encoding: URLEncoding.default)
  93. case .sensor_save_sensor(let username, let client_key, let os, let version ,let token, let sensorId, let name, let deviceId, let floorId, let roomId,let image,let model,let gatewayId):
  94. var p = ["username" :username,
  95. "client_key":client_key,
  96. "os":os,
  97. "version":version ,
  98. "token":token,
  99. "name":name,
  100. "deviceId":deviceId,
  101. "floorId":floorId ,
  102. "roomId":roomId,"image":image,
  103. "model":model,"gatewayId":gatewayId]
  104. if let sensorId = sensorId{
  105. p["sensorId"] = sensorId
  106. }
  107. return .requestParameters(parameters: p as [String : Any],
  108. encoding: URLEncoding.default)
  109. case .sensor_sensor_info(let username, let client_key, let os, let version ,let token, let sensorId):
  110. let p = ["username" :username,
  111. "client_key":client_key,
  112. "os":os,
  113. "version":version,
  114. "token":token,
  115. "sensorId":sensorId]
  116. return .requestParameters(parameters: p,
  117. encoding: URLEncoding.default)
  118. case .sensor_del_sensor(let username, let client_key, let os, let version ,let token, let sensorId):
  119. let p = ["username" :username,
  120. "client_key":client_key,
  121. "os":os,
  122. "version":version,
  123. "token":token,
  124. "sensorId":sensorId]
  125. return .requestParameters(parameters: p,
  126. encoding: URLEncoding.default)
  127. case .sensor_sensor_history(let username, let client_key, let os, let version ,let token, let deviceId,let date_type):
  128. let p = ["username" :username,
  129. "client_key":client_key,
  130. "os":os,
  131. "version":version,
  132. "token":token,
  133. "deviceId":deviceId,
  134. "date_type":date_type]
  135. return .requestParameters(parameters: p,
  136. encoding: URLEncoding.default)
  137. case .sensor_set_status(username: let username, client_key: let client_key, os: let os, version: let version, token: let token, clientId: let clientId, id: let id, status: let status):
  138. let p = ["username" :username,
  139. "client_key":client_key,
  140. "os":os,
  141. "version":version,
  142. "token":token,
  143. "clientId":clientId,
  144. "id":id,"status":status]
  145. return .requestParameters(parameters: p,
  146. encoding: URLEncoding.default)
  147. }
  148. }
  149. var headers: [String : String]? {
  150. return nil
  151. }
  152. }