IHSensorModel.swift 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. //
  2. // IHSensorModel.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/10.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import SwiftyJSON
  10. struct SensorData {
  11. var id : String? // 设备id Y
  12. var name : String? // 设备名称 Y
  13. var deviceId : String? // 设备ID Y
  14. var floor : String? // 楼层 Y
  15. var roomNumber : String? // 房间号 Y
  16. var pm25 : String? // PM2.5 Y
  17. var pm10 : String? // PM10 Y
  18. var temperature : String? // 温度 Y
  19. var humidity : String? // 湿度 Y
  20. var co2 : String? // 二氧化碳浓度 Y
  21. var noise : String? // 噪声 Y
  22. var online : String? // 在线状态(0 离线,1 在线) Y
  23. var alarmStatus : String? // 故障状态(0 正常,1 故障) Y
  24. }
  25. struct Sensor_list_Result {
  26. var code : HttpApiStatus?
  27. var msg : String?
  28. var list : [SensorData]?
  29. var total : String? // 设备总数
  30. }
  31. class Sensor_list_Info: NSObject {
  32. var result : Sensor_list_Result?
  33. var isSuccess : Bool
  34. var status : HttpApiStatus?
  35. init(result:Sensor_list_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  36. self.result = result; self.isSuccess = isSuccess; self.status = status
  37. }
  38. static func fromJSON(_ json:JSON) -> Sensor_list_Info? {
  39. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  40. let msg = json["msg"].stringValue
  41. let data = json["data"]
  42. let list = data["list"]
  43. var mList = [SensorData]()
  44. guard let sensorlist = list.array else { return nil }
  45. for vJSON in sensorlist {
  46. var sensor = SensorData()
  47. sensor.id = vJSON["id"].stringValue
  48. sensor.name = vJSON["name"].stringValue
  49. sensor.deviceId = vJSON["deviceId"].stringValue
  50. sensor.floor = vJSON["floor"].stringValue
  51. sensor.roomNumber = vJSON["roomNumber"].stringValue
  52. sensor.pm25 = vJSON["pm25"].stringValue
  53. sensor.pm10 = vJSON["pm10"].stringValue
  54. sensor.temperature = vJSON["temperature"].stringValue
  55. sensor.humidity = vJSON["humidity"].stringValue
  56. sensor.co2 = vJSON["co2"].stringValue
  57. sensor.noise = vJSON["noise"].stringValue
  58. sensor.online = vJSON["online"].stringValue
  59. sensor.alarmStatus = vJSON["alarmStatus"].stringValue
  60. mList.append(sensor)
  61. }
  62. var isSuccess = false
  63. if code == .Success {
  64. isSuccess = true
  65. }
  66. let total = json["total"].stringValue
  67. let result = Sensor_list_Result(code: code, msg: msg, list: mList,total: total)
  68. return Sensor_list_Info(result: result, isSuccess: isSuccess, status: code)
  69. }
  70. }
  71. //设备详情
  72. struct SensorInfodata {
  73. var name : String? // 设备名称 Y
  74. var deviceId : String? // 设备ID Y
  75. var floorId : String? // 楼层 Y
  76. var roomId : String? // 房间id Y
  77. var pm25 : String? // PM2.5 Y
  78. // var pm10 : String? // PM10 Y
  79. var formaldehyde: String? //甲醛
  80. var temperature : String? // 温度 Y
  81. var humidity : String? // 湿度 Y
  82. var co2 : String? //二氧化碳浓度 Y
  83. var illuminance: String? // 光照强度 Y
  84. var noise : String? // 噪声 Y
  85. var voc :String?// 挥发性有机化合物tvoc
  86. var batteryLevel : String? // 剩余电量 Y
  87. var batteryStatus : String? // 电池状态(0 正常,1 故障) Y
  88. var online : String? // 在线状态(0 离线,1 在线) Y
  89. var wifiLevel : String? // 信号强度(0 弱,1 中,2 强) Y
  90. var useTime : String? // 使用时长(h) Y
  91. var alarmStatus : String? // 故障状态(0 正常,1 故障) Y
  92. var alarmInfo : String? // 故障信息 Y
  93. var status : String? //探头3秒巡检开关状态(0 关,1 开)
  94. }
  95. struct SensorInfo_Result {
  96. var code : HttpApiStatus?
  97. var msg : String?
  98. var data : SensorInfodata?
  99. }
  100. class SensorInfo_Info: NSObject {
  101. var result : SensorInfo_Result?
  102. var isSuccess : Bool
  103. var status : HttpApiStatus?
  104. init(result:SensorInfo_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  105. self.result = result; self.isSuccess = isSuccess; self.status = status
  106. }
  107. static func fromJSON(_ json:JSON) -> SensorInfo_Info? {
  108. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  109. let msg = json["msg"].stringValue
  110. let data = json["data"]
  111. var result = SensorInfo_Result()
  112. result.msg = msg
  113. result.code = code
  114. let name = data["name"].stringValue
  115. let deviceId = data["deviceId"].stringValue
  116. let floorId = data["floorId"].stringValue
  117. let roomId = data["roomId"].stringValue
  118. let pm25 = data["pm25"].stringValue
  119. let voc = data["voc"].stringValue
  120. let formaldehyde = data["formaldehyde"].stringValue
  121. let temperature = data["temperature"].stringValue
  122. let humidity = data["humidity"].stringValue
  123. let co2 = data["co2"].stringValue
  124. let illuminance = data["illuminance"].stringValue
  125. let noise = data["noise"].stringValue
  126. let batteryLevel = data["batteryLevel"].stringValue
  127. let batteryStatus = data["batteryStatus"].stringValue
  128. let online = data["online"].stringValue
  129. let wifiLevel = data["wifiLevel"].stringValue
  130. let useTime = data["useTime"].stringValue
  131. let alarmStatus = data["alarmStatus"].stringValue
  132. let alarmInfo = data["alarmInfo"].stringValue
  133. let status = data["status"].stringValue
  134. let sensordata = SensorInfodata(name: name, deviceId: deviceId, floorId: floorId, roomId: roomId, pm25: pm25,formaldehyde:formaldehyde, temperature: temperature, humidity: humidity, co2: co2, illuminance: illuminance, noise: noise,voc:voc, batteryLevel: batteryLevel, batteryStatus: batteryStatus, online: online, wifiLevel: wifiLevel, useTime: useTime, alarmStatus: alarmStatus, alarmInfo: alarmInfo,status: status)
  135. result.data = sensordata
  136. var isSuccess = false
  137. if code == .Success {
  138. isSuccess = true
  139. }
  140. return SensorInfo_Info(result: result, isSuccess: isSuccess, status: code)
  141. }
  142. }
  143. struct SensorHistory {
  144. var pm25:[String]?
  145. var temperature:[String]?
  146. var humidity:[String]?
  147. var formaldehyde:[String]?
  148. var co2:[String]?
  149. var illuminance:[String]?
  150. var noise:[String]?
  151. var updateTime:[String]?
  152. // var days:[String]?
  153. }
  154. struct SensorHistory_Result {
  155. var code : HttpApiStatus?
  156. var msg : String?
  157. var historyData : SensorHistory?
  158. }
  159. class SensorHistory_Info: NSObject {
  160. var result : SensorHistory_Result?
  161. var isSuccess : Bool
  162. var status : HttpApiStatus?
  163. init(result:SensorHistory_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  164. self.result = result; self.isSuccess = isSuccess; self.status = status
  165. }
  166. static func fromJSON(_ json:JSON) -> SensorHistory_Info? {
  167. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  168. let msg = json["msg"].stringValue
  169. let data = json["data"]
  170. var result = SensorHistory_Result()
  171. var historyData = SensorHistory()
  172. result.msg = msg
  173. result.code = code
  174. let pm25jsonArray = data["PM25"].arrayValue
  175. var pm25s = [String]()
  176. for p25 in pm25jsonArray {
  177. let p = p25.stringValue
  178. pm25s.append(p)
  179. }
  180. historyData.pm25 = pm25s
  181. let tempjsonArray = data["temperature"].arrayValue
  182. var temperatures = [String]()
  183. for temp in tempjsonArray {
  184. let p = temp.stringValue
  185. temperatures.append(p)
  186. }
  187. historyData.temperature = temperatures
  188. let humidityjsonArray = data["humidity"].arrayValue
  189. var humiditys = [String]()
  190. for humi in humidityjsonArray {
  191. let p = humi.stringValue
  192. humiditys.append(p)
  193. }
  194. historyData.humidity = humiditys
  195. let formaldehydejsonArray = data["formaldehyde"].arrayValue
  196. var formaldehydes = [String]()
  197. for formald in formaldehydejsonArray {
  198. let p = formald.stringValue
  199. formaldehydes.append(p)
  200. }
  201. historyData.formaldehyde = formaldehydes
  202. let co2jsonArray = data["CO2"].arrayValue
  203. var co2s = [String]()
  204. for co2 in co2jsonArray {
  205. let p = co2.stringValue
  206. co2s.append(p)
  207. }
  208. historyData.co2 = co2s
  209. let illuminancejsonArray = data["illuminance"].arrayValue
  210. var illuminances = [String]()
  211. for illuminance in illuminancejsonArray {
  212. let p = illuminance.stringValue
  213. illuminances.append(p)
  214. }
  215. historyData.illuminance = illuminances
  216. let noisejsonArray = data["noise"].arrayValue
  217. var noises = [String]()
  218. for noise in noisejsonArray {
  219. let p = noise.stringValue
  220. noises.append(p)
  221. }
  222. historyData.noise = noises
  223. let updateTimejsonArray = data["updateTime"].arrayValue
  224. var updateTimes = [String]()
  225. for updateTime in updateTimejsonArray {
  226. let p = updateTime.stringValue
  227. updateTimes.append(p)
  228. }
  229. historyData.updateTime = updateTimes
  230. result.historyData = historyData
  231. var isSuccess = false
  232. if code == .Success {
  233. isSuccess = true
  234. }
  235. return SensorHistory_Info(result: result, isSuccess: isSuccess, status: code)
  236. }
  237. }