// // IHGatewayService.swift // Inhealth // // Created by weclouds on 2020/4/8. // Copyright © 2020 weclouds. All rights reserved. // import UIKit import PKHUD class IHGatewayService: NSObject { static let share = IHGatewayService() lazy var gatewaylist:[GatewayData] = { let gatewaylist = [GatewayData]() return gatewaylist }() func getGatewayList(buildId:String,page : String,keywords:String?,requestSuccess:@escaping ([GatewayData])->Void,requestFail:@escaping (()->Void)) { let username = AppShare.username let client_key = AppShare.client_key let os = AppShare.os let token = AppShare.token let version = AppShare.version let count = "20" //let aPage = "1" 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 self.gatewaylist.removeAll() let info = GatewayList_Info.fromJSON(json) let result = info?.result guard let list = result?.list else {return} self.gatewaylist = list requestSuccess(self.gatewaylist) }, fail: requestFail) } func getNetworkDevice(floorId:String,roomId:String,gatewayid:String,bindLamp:String,requestSuccess:@escaping ([GatewayLamp])->Void,requestFail:@escaping (()->Void)) { let username = AppShare.username let client_key = AppShare.client_key let os = AppShare.os let token = AppShare.token let version = AppShare.version 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 let info = GateWayLamp_Info.fromJSON(json) let result = info?.result if result?.code == .Success{ // if let list = result?.list{ requestSuccess((result?.list!)!) // } }else{ requestFail() } }) { () -> (Void) in requestFail() } } //绑定/解绑 func bindGateway(_ deviceId:String,gatewayId:String,bind:String,requestSuccess:@escaping (Bool)->Void) { let username = AppShare.username let client_key = AppShare.client_key let os = AppShare.os let token = AppShare.token let version = AppShare.version let url = moyaBase + "network/addNetLamp" let parameter :NSDictionary = ["username":username, "client_key":client_key, "os":os, "version":version, "token":token, "deviceId":deviceId, "gatewayId":gatewayId, "bind":bind] IHWebSocketManager.shareInstance().contectToSokect(url, parameter: parameter) { (isSuccess) in requestSuccess(isSuccess) } } func controlLampStatus(_ lampId:String,gatewayId:String, status:String,requestSuccess:@escaping (Bool)->Void){ let username = AppShare.username let client_key = AppShare.client_key let os = AppShare.os let token = AppShare.token let version = AppShare.version let url = moyaBase + "network/statusControl" let parameter :NSDictionary = ["username":username, "client_key":client_key, "os":os, "version":version, "token":token, "lampId":lampId, "gatewayId":gatewayId, "status":status] IHWebSocketManager.shareInstance().contectToSokect(url, parameter: parameter) { (isSuccess) in requestSuccess(isSuccess) } } func delegateGateway(_ id:String,requestSuccess:@escaping ()->Void,requestFail:@escaping (()->Void)) { let username = AppShare.username let client_key = AppShare.client_key let os = AppShare.os let token = AppShare.token let version = AppShare.version g_network_delRoomNetHttpRequest(username, client_key: client_key, os: os, version: version, token: token, id: id, success: { (json) -> (Void) in requestSuccess() let info = Operation_Info.fromJSON(json) let result = info?.result let msg = result?.msg self.showHUD(msg ?? "") }) { () -> (Void) in requestFail() } } private func showHUD(_ message: String) { HUD.flash(.label(message), delay: 0.5) { _ in print("License Obtained.") } } }