IHGatewayModel.swift 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. //
  2. // IHGatewayModel.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2020/4/7.
  6. // Copyright © 2020 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import SwiftyJSON
  10. //网关数据
  11. struct GatewayData {
  12. var id:String? //网关id
  13. var floorId:String? //楼层id
  14. var floor:String? //楼层数
  15. var network_name:String? // 网关名称
  16. var gatewayId:String? // 网关id(显示使用)
  17. var online:String? // 网络状态,0 离线,1 在线
  18. var firmware:String? // 固件版本
  19. var software :String?//软件版本
  20. var roomNumber:String? // 房间编号
  21. var inspecTime:String? // 网关巡检时间
  22. var roomId :String?// 房间id
  23. }
  24. ///网关列表
  25. struct GatewayList_Result {
  26. var code : HttpApiStatus?
  27. var msg : String?
  28. var total :Int?
  29. var list :[GatewayData]?
  30. }
  31. class GatewayList_Info: NSObject {
  32. var result : GatewayList_Result?
  33. var isSuccess : Bool
  34. var status : HttpApiStatus?
  35. init(result:GatewayList_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  36. self.result = result; self.isSuccess = isSuccess; self.status = status
  37. }
  38. static func fromJSON(_ json:JSON) -> GatewayList_Info? {
  39. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  40. let msg = json["msg"].stringValue
  41. let data = json["data"]
  42. let total = data["total"].intValue
  43. let list = data["list"]
  44. var result = GatewayList_Result()
  45. result.msg = msg
  46. result.code = code
  47. result.total = total
  48. var mList = [GatewayData]()
  49. guard let lightlist = list.array else { return nil }
  50. for vJSON in lightlist {
  51. var gateway = GatewayData()
  52. gateway.id = vJSON["id"].stringValue
  53. gateway.floorId = vJSON["floorId"].stringValue
  54. gateway.floor = vJSON["floor"].stringValue
  55. gateway.network_name = vJSON["network_name"].stringValue
  56. gateway.gatewayId = vJSON["gatewayId"].stringValue
  57. gateway.online = vJSON["online"].stringValue
  58. gateway.firmware = vJSON["firmware"].stringValue
  59. gateway.software = vJSON["software"].stringValue
  60. gateway.roomNumber = vJSON["roomNumber"].stringValue
  61. gateway.inspecTime = vJSON["inspecTime"].stringValue
  62. gateway.roomId = vJSON["roomId"].stringValue
  63. mList.append(gateway)
  64. }
  65. result.list = mList
  66. var isSuccess = false
  67. if code == .Success {
  68. isSuccess = true
  69. }
  70. return GatewayList_Info(result: result, isSuccess: isSuccess, status: code)
  71. }
  72. }
  73. struct GatewayLamp {
  74. var id:String?//设备id, 为空表示没有绑定设备,只显示设备地址
  75. var name:String?//灯名称
  76. var image:String?// 图片
  77. var type:String? //设备类型 (0 lights ,1 circadian lights,2 sensor,3 air purifiers)
  78. var status:String?//灯的状态
  79. var deviceId:String? //设备地址
  80. }
  81. struct GateWayLamp_Result {
  82. var code : HttpApiStatus?
  83. var msg : String?
  84. var total :Int?
  85. var list :[GatewayLamp]?
  86. }
  87. class GateWayLamp_Info: NSObject {
  88. var result : GateWayLamp_Result?
  89. var isSuccess : Bool
  90. var status : HttpApiStatus?
  91. init(result:GateWayLamp_Result?, isSuccess:Bool, status:HttpApiStatus?) {
  92. self.result = result; self.isSuccess = isSuccess; self.status = status
  93. }
  94. static func fromJSON(_ json:JSON) -> GateWayLamp_Info? {
  95. let code = HttpApiStatus(rawValue: json["code"].stringValue)
  96. let msg = json["msg"].stringValue
  97. let data = json["data"]
  98. let total = data["total"].intValue
  99. let list = data["list"]
  100. var result = GateWayLamp_Result()
  101. result.msg = msg
  102. result.code = code
  103. result.total = total
  104. var mList = [GatewayLamp]()
  105. guard let lightlist = list.array else { return nil }
  106. for vJSON in lightlist {
  107. var lamp = GatewayLamp()
  108. lamp.id = vJSON["id"].stringValue
  109. lamp.name = vJSON["name"].stringValue
  110. lamp.image = vJSON["image"].stringValue
  111. lamp.type = vJSON["type"].stringValue
  112. lamp.status = vJSON["status"].stringValue
  113. lamp.deviceId = vJSON["deviceId"].stringValue
  114. mList.append(lamp)
  115. }
  116. result.list = mList
  117. var isSuccess = false
  118. if code == .Success {
  119. isSuccess = true
  120. }
  121. return GateWayLamp_Info(result: result, isSuccess: isSuccess, status: code)
  122. }
  123. }