IHGatewayService.swift 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. //
  2. // IHGatewayService.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2020/4/8.
  6. // Copyright © 2020 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import PKHUD
  10. class IHGatewayService: NSObject {
  11. static let share = IHGatewayService()
  12. lazy var gatewaylist:[GatewayData] = {
  13. let gatewaylist = [GatewayData]()
  14. return gatewaylist
  15. }()
  16. func getGatewayList(buildId:String,page : String,keywords:String?,requestSuccess:@escaping ([GatewayData])->Void,requestFail:@escaping (()->Void)) {
  17. let username = AppShare.username
  18. let client_key = AppShare.client_key
  19. let os = AppShare.os
  20. let token = AppShare.token
  21. let version = AppShare.version
  22. let count = "20"
  23. //let aPage = "1"
  24. g_network_getlistHttpRequest(username, client_key: client_key, os: os, version: version, token: token, page: page, count: count, keywords: keywords, buildid: buildId, success: { (json) -> (Void) in
  25. self.gatewaylist.removeAll()
  26. let info = GatewayList_Info.fromJSON(json)
  27. let result = info?.result
  28. guard let list = result?.list else {return}
  29. self.gatewaylist = list
  30. requestSuccess(self.gatewaylist)
  31. }, fail: requestFail)
  32. }
  33. func getNetworkDevice(floorId:String,roomId:String,gatewayid:String,bindLamp:String,requestSuccess:@escaping ([GatewayLamp])->Void,requestFail:@escaping (()->Void)) {
  34. let username = AppShare.username
  35. let client_key = AppShare.client_key
  36. let os = AppShare.os
  37. let token = AppShare.token
  38. let version = AppShare.version
  39. g_network_getLampHttpRequest(username, client_key: client_key, os: os, version: version, token: token, floorId: floorId, roomId: roomId, gatewayid: gatewayid, bindLamp: bindLamp, success: { (json) -> (Void) in
  40. let info = GateWayLamp_Info.fromJSON(json)
  41. let result = info?.result
  42. if result?.code == .Success{
  43. // if let list = result?.list{
  44. requestSuccess((result?.list!)!)
  45. // }
  46. }else{
  47. requestFail()
  48. }
  49. }) { () -> (Void) in
  50. requestFail()
  51. }
  52. }
  53. //绑定/解绑
  54. func bindGateway(_ deviceId:String,gatewayId:String,bind:String,requestSuccess:@escaping (Bool)->Void) {
  55. let username = AppShare.username
  56. let client_key = AppShare.client_key
  57. let os = AppShare.os
  58. let token = AppShare.token
  59. let version = AppShare.version
  60. let url = moyaBase + "network/addNetLamp"
  61. let parameter :NSDictionary = ["username":username,
  62. "client_key":client_key,
  63. "os":os,
  64. "version":version,
  65. "token":token,
  66. "deviceId":deviceId,
  67. "gatewayId":gatewayId,
  68. "bind":bind]
  69. IHWebSocketManager.shareInstance().contectToSokect(url, parameter: parameter) { (isSuccess) in
  70. requestSuccess(isSuccess)
  71. }
  72. }
  73. func controlLampStatus(_ lampId:String,gatewayId:String, status:String,requestSuccess:@escaping (Bool)->Void){
  74. let username = AppShare.username
  75. let client_key = AppShare.client_key
  76. let os = AppShare.os
  77. let token = AppShare.token
  78. let version = AppShare.version
  79. let url = moyaBase + "network/statusControl"
  80. let parameter :NSDictionary = ["username":username,
  81. "client_key":client_key,
  82. "os":os,
  83. "version":version,
  84. "token":token,
  85. "lampId":lampId,
  86. "gatewayId":gatewayId,
  87. "status":status]
  88. IHWebSocketManager.shareInstance().contectToSokect(url, parameter: parameter) { (isSuccess) in
  89. requestSuccess(isSuccess)
  90. }
  91. }
  92. func delegateGateway(_ id:String,requestSuccess:@escaping ()->Void,requestFail:@escaping (()->Void)) {
  93. let username = AppShare.username
  94. let client_key = AppShare.client_key
  95. let os = AppShare.os
  96. let token = AppShare.token
  97. let version = AppShare.version
  98. g_network_delRoomNetHttpRequest(username, client_key: client_key, os: os, version: version, token: token, id: id, success: { (json) -> (Void) in
  99. requestSuccess()
  100. let info = Operation_Info.fromJSON(json)
  101. let result = info?.result
  102. let msg = result?.msg
  103. self.showHUD(msg ?? "")
  104. }) { () -> (Void) in
  105. requestFail()
  106. }
  107. }
  108. private func showHUD(_ message: String) {
  109. HUD.flash(.label(message), delay: 0.5) { _ in
  110. print("License Obtained.")
  111. }
  112. }
  113. }