// // IHSensorModel.swift // Inhealth // // Created by weclouds on 2019/12/10. // Copyright © 2019 weclouds. All rights reserved. // import UIKit import SwiftyJSON struct SensorData { var id : String? // 设备id Y var name : String? // 设备名称 Y var deviceId : String? // 设备ID Y var floor : String? // 楼层 Y var roomNumber : String? // 房间号 Y var pm25 : String? // PM2.5 Y var pm10 : String? // PM10 Y var temperature : String? // 温度 Y var humidity : String? // 湿度 Y var co2 : String? // 二氧化碳浓度 Y var noise : String? // 噪声 Y var online : String? // 在线状态(0 离线,1 在线) Y var alarmStatus : String? // 故障状态(0 正常,1 故障) Y } struct Sensor_list_Result { var code : HttpApiStatus? var msg : String? var list : [SensorData]? var total : String? // 设备总数 } class Sensor_list_Info: NSObject { var result : Sensor_list_Result? var isSuccess : Bool var status : HttpApiStatus? init(result:Sensor_list_Result?, isSuccess:Bool, status:HttpApiStatus?) { self.result = result; self.isSuccess = isSuccess; self.status = status } static func fromJSON(_ json:JSON) -> Sensor_list_Info? { let code = HttpApiStatus(rawValue: json["code"].stringValue) let msg = json["msg"].stringValue let data = json["data"] let list = data["list"] var mList = [SensorData]() guard let sensorlist = list.array else { return nil } for vJSON in sensorlist { var sensor = SensorData() sensor.id = vJSON["id"].stringValue sensor.name = vJSON["name"].stringValue sensor.deviceId = vJSON["deviceId"].stringValue sensor.floor = vJSON["floor"].stringValue sensor.roomNumber = vJSON["roomNumber"].stringValue sensor.pm25 = vJSON["pm25"].stringValue sensor.pm10 = vJSON["pm10"].stringValue sensor.temperature = vJSON["temperature"].stringValue sensor.humidity = vJSON["humidity"].stringValue sensor.co2 = vJSON["co2"].stringValue sensor.noise = vJSON["noise"].stringValue sensor.online = vJSON["online"].stringValue sensor.alarmStatus = vJSON["alarmStatus"].stringValue mList.append(sensor) } var isSuccess = false if code == .Success { isSuccess = true } let total = json["total"].stringValue let result = Sensor_list_Result(code: code, msg: msg, list: mList,total: total) return Sensor_list_Info(result: result, isSuccess: isSuccess, status: code) } } //设备详情 struct SensorInfodata { var name : String? // 设备名称 Y var deviceId : String? // 设备ID Y var floorId : String? // 楼层 Y var roomId : String? // 房间id Y var pm25 : String? // PM2.5 Y // var pm10 : String? // PM10 Y var formaldehyde: String? //甲醛 var temperature : String? // 温度 Y var humidity : String? // 湿度 Y var co2 : String? //二氧化碳浓度 Y var illuminance: String? // 光照强度 Y var noise : String? // 噪声 Y var voc :String?// 挥发性有机化合物tvoc var batteryLevel : String? // 剩余电量 Y var batteryStatus : String? // 电池状态(0 正常,1 故障) Y var online : String? // 在线状态(0 离线,1 在线) Y var wifiLevel : String? // 信号强度(0 弱,1 中,2 强) Y var useTime : String? // 使用时长(h) Y var alarmStatus : String? // 故障状态(0 正常,1 故障) Y var alarmInfo : String? // 故障信息 Y var status : String? //探头3秒巡检开关状态(0 关,1 开) } struct SensorInfo_Result { var code : HttpApiStatus? var msg : String? var data : SensorInfodata? } class SensorInfo_Info: NSObject { var result : SensorInfo_Result? var isSuccess : Bool var status : HttpApiStatus? init(result:SensorInfo_Result?, isSuccess:Bool, status:HttpApiStatus?) { self.result = result; self.isSuccess = isSuccess; self.status = status } static func fromJSON(_ json:JSON) -> SensorInfo_Info? { let code = HttpApiStatus(rawValue: json["code"].stringValue) let msg = json["msg"].stringValue let data = json["data"] var result = SensorInfo_Result() result.msg = msg result.code = code let name = data["name"].stringValue let deviceId = data["deviceId"].stringValue let floorId = data["floorId"].stringValue let roomId = data["roomId"].stringValue let pm25 = data["pm25"].stringValue let voc = data["voc"].stringValue let formaldehyde = data["formaldehyde"].stringValue let temperature = data["temperature"].stringValue let humidity = data["humidity"].stringValue let co2 = data["co2"].stringValue let illuminance = data["illuminance"].stringValue let noise = data["noise"].stringValue let batteryLevel = data["batteryLevel"].stringValue let batteryStatus = data["batteryStatus"].stringValue let online = data["online"].stringValue let wifiLevel = data["wifiLevel"].stringValue let useTime = data["useTime"].stringValue let alarmStatus = data["alarmStatus"].stringValue let alarmInfo = data["alarmInfo"].stringValue let status = data["status"].stringValue 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) result.data = sensordata var isSuccess = false if code == .Success { isSuccess = true } return SensorInfo_Info(result: result, isSuccess: isSuccess, status: code) } } struct SensorHistory { var pm25:[String]? var temperature:[String]? var humidity:[String]? var formaldehyde:[String]? var co2:[String]? var illuminance:[String]? var noise:[String]? var updateTime:[String]? // var days:[String]? } struct SensorHistory_Result { var code : HttpApiStatus? var msg : String? var historyData : SensorHistory? } class SensorHistory_Info: NSObject { var result : SensorHistory_Result? var isSuccess : Bool var status : HttpApiStatus? init(result:SensorHistory_Result?, isSuccess:Bool, status:HttpApiStatus?) { self.result = result; self.isSuccess = isSuccess; self.status = status } static func fromJSON(_ json:JSON) -> SensorHistory_Info? { let code = HttpApiStatus(rawValue: json["code"].stringValue) let msg = json["msg"].stringValue let data = json["data"] var result = SensorHistory_Result() var historyData = SensorHistory() result.msg = msg result.code = code let pm25jsonArray = data["PM25"].arrayValue var pm25s = [String]() for p25 in pm25jsonArray { let p = p25.stringValue pm25s.append(p) } historyData.pm25 = pm25s let tempjsonArray = data["temperature"].arrayValue var temperatures = [String]() for temp in tempjsonArray { let p = temp.stringValue temperatures.append(p) } historyData.temperature = temperatures let humidityjsonArray = data["humidity"].arrayValue var humiditys = [String]() for humi in humidityjsonArray { let p = humi.stringValue humiditys.append(p) } historyData.humidity = humiditys let formaldehydejsonArray = data["formaldehyde"].arrayValue var formaldehydes = [String]() for formald in formaldehydejsonArray { let p = formald.stringValue formaldehydes.append(p) } historyData.formaldehyde = formaldehydes let co2jsonArray = data["CO2"].arrayValue var co2s = [String]() for co2 in co2jsonArray { let p = co2.stringValue co2s.append(p) } historyData.co2 = co2s let illuminancejsonArray = data["illuminance"].arrayValue var illuminances = [String]() for illuminance in illuminancejsonArray { let p = illuminance.stringValue illuminances.append(p) } historyData.illuminance = illuminances let noisejsonArray = data["noise"].arrayValue var noises = [String]() for noise in noisejsonArray { let p = noise.stringValue noises.append(p) } historyData.noise = noises let updateTimejsonArray = data["updateTime"].arrayValue var updateTimes = [String]() for updateTime in updateTimejsonArray { let p = updateTime.stringValue updateTimes.append(p) } historyData.updateTime = updateTimes result.historyData = historyData var isSuccess = false if code == .Success { isSuccess = true } return SensorHistory_Info(result: result, isSuccess: isSuccess, status: code) } }