// // IHAirManager.swift // Inhealth // // Created by weclouds on 2019/12/18. // Copyright © 2019 weclouds. All rights reserved. // import UIKit import PKHUD class IHAirManager: NSObject ,IHViewManagerProtocolDelegate{ lazy var mainView: IHAirView = { let mainView = IHAirView() mainView.delegate = self return mainView }() // private var vc = UIViewController() private weak var vc : UIViewController? override init() { super.init() NotificationCenter.default.addObserver(self, selector: #selector(reloadNotify), name: NSNotification.Name(kNotificationIHNewEquipmentManagerEditEquipmentReload), object: nil) } deinit { NotificationCenter.default.removeObserver(self) } @objc func reloadNotify(_ notif:Notification){ let airVC = self.vc as! IHAirVCtr airVC.navigationBarTitle = notif.object as? String requestData(airVC.purifierId!) } func bindController(_ vc: UIViewController) { self.vc = vc createUI() } func createUI() { //self.vc.navigationBarTitle = "Air-A" mainView.frame = CGRect(x: 0, y: 0, width: KSCREENWIDTH, height: KSCREENHEIGHT - KNavBarHeight) self.vc?.view.addSubview(mainView) let airVC = self.vc as! IHAirVCtr requestData(airVC.purifierId!) setNavigationBar() } func requestData(_ purifierId:String) { IHAirService.share.getPurifierInfo(purifierId, requestSuccess: { (data) in self.mainView.airData = data }) { } IHAirService.share.getPurifierReport(purifierId, dateType: "0", date: nil, requestSuccess: { (history) in self.mainView.reportData = history }) { } // IHAirService.share.getPurifierReport(purifierId, type: "0", dataType: "0", requestSuccess: { (reportData) in // self.mainView.reportData = reportData // }) { // // } } func setNavigationBar() { //导航栏的渲染方式 let searchItem = UIBarButtonItem(image: UIImage(named: "历史数据")?.withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(mapAction1)) let setItem = UIBarButtonItem(image: UIImage(named: "设置")?.withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(modeSetAction)) self.vc?.navigationItem.rightBarButtonItems = [searchItem,setItem] } @objc func modeSetAction() { let eqment = IHNewEquipmentVCtr() eqment.roomStyle = .equipmentEdit let aVC = self.vc as! IHAirVCtr eqment.devData = aVC.dataSource eqment.navigationBarTitle = aVC.dataSource?.name self.vc?.navigationController?.pushViewController(eqment, animated: true) } @objc func mapAction1(){ let airVC = self.vc as! IHAirVCtr getPurifierHistory(airVC.dataSource!) } } extension IHAirManager: IHAirViewDelegate{ func air_ctrolGear(_ purifierId: String, level: String) { IHRoomListService.share.purifiertTrunOff(purifierId: purifierId, status: "1", level: level, requestSuccess: {_ in log.debug(" air_adjustSwitch ") self.requestAirInfoData(purifierId) NotificationCenter.default.post(name: NSNotification.Name(kIHRoomListManagerNoticationReloadData), object: nil) }) { } } func air_switchDataType(_ index: Int, purifierId: String) { var dateType = "0" if index == 0{ dateType = "0" }else if index == 1{ dateType = "4" }else if index == 2{ dateType = "1" }else if index == 3{ dateType = "2" } IHAirService.share.getPurifierReport(purifierId, dateType: dateType, date: nil, requestSuccess: { (history) in self.mainView.reportData = history }) { } // IHAirService.share.getPurifierReport(purifierId, type: "\(index)", dataType: "0", requestSuccess: { (reportData) in // log.debug(" reportData - \(reportData)") // self.mainView.reportData = reportData // }) { // // } } func air_adjustSwitch(_ purifierId: String, status: String, level: String) { let aLavel = "1" IHRoomListService.share.purifiertTrunOff(purifierId: purifierId, status: status, level: aLavel, requestSuccess: {_ in log.debug(" air_adjustSwitch ") self.requestAirInfoData(purifierId) NotificationCenter.default.post(name: NSNotification.Name(kIHRoomListManagerNoticationReloadData), object: nil) }) { } } func requestAirInfoData(_ purifierId:String) { IHAirService.share.getPurifierInfo(purifierId, requestSuccess: { (data) in self.mainView.airData = data }) { } } func getPurifierHistory(_ devData:DevData) { HUD.show(.progress) HUD.hide(afterDelay: 20) { (isSuccess) in if isSuccess == true{ g_showHUD("请求超时") } } let historyvc = IHRoomLightHistoryVCtr() historyvc.devId = devData.id historyvc.devType = "4" IHAirService.share.getPurifierReport(devData.id!, dateType: "0", date: nil, requestSuccess: { (history) in HUD.hide() historyvc.purifierHistroy = history self.vc?.navigationController?.pushViewController(historyvc, animated: true) }) { g_showHUD("空气净化器无历史数据") } } }