IHAirManager.swift 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. //
  2. // IHAirManager.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2019/12/18.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import PKHUD
  10. class IHAirManager: NSObject ,IHViewManagerProtocolDelegate{
  11. lazy var mainView: IHAirView = {
  12. let mainView = IHAirView()
  13. mainView.delegate = self
  14. return mainView
  15. }()
  16. // private var vc = UIViewController()
  17. private weak var vc : UIViewController?
  18. override init() {
  19. super.init()
  20. NotificationCenter.default.addObserver(self, selector: #selector(reloadNotify), name: NSNotification.Name(kNotificationIHNewEquipmentManagerEditEquipmentReload), object: nil)
  21. }
  22. deinit {
  23. NotificationCenter.default.removeObserver(self)
  24. }
  25. @objc func reloadNotify(_ notif:Notification){
  26. let airVC = self.vc as! IHAirVCtr
  27. airVC.navigationBarTitle = notif.object as? String
  28. requestData(airVC.purifierId!)
  29. }
  30. func bindController(_ vc: UIViewController) {
  31. self.vc = vc
  32. createUI()
  33. }
  34. func createUI() {
  35. //self.vc.navigationBarTitle = "Air-A"
  36. mainView.frame = CGRect(x: 0, y: 0, width: KSCREENWIDTH, height: KSCREENHEIGHT - KNavBarHeight)
  37. self.vc?.view.addSubview(mainView)
  38. let airVC = self.vc as! IHAirVCtr
  39. requestData(airVC.purifierId!)
  40. setNavigationBar()
  41. }
  42. func requestData(_ purifierId:String) {
  43. IHAirService.share.getPurifierInfo(purifierId, requestSuccess: { (data) in
  44. self.mainView.airData = data
  45. }) {
  46. }
  47. IHAirService.share.getPurifierReport(purifierId, dateType: "0", date: nil, requestSuccess: { (history) in
  48. self.mainView.reportData = history
  49. }) {
  50. }
  51. // IHAirService.share.getPurifierReport(purifierId, type: "0", dataType: "0", requestSuccess: { (reportData) in
  52. // self.mainView.reportData = reportData
  53. // }) {
  54. //
  55. // }
  56. }
  57. func setNavigationBar() {
  58. //导航栏的渲染方式
  59. let searchItem = UIBarButtonItem(image: UIImage(named: "历史数据")?.withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(mapAction1))
  60. let setItem = UIBarButtonItem(image: UIImage(named: "设置")?.withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(modeSetAction))
  61. self.vc?.navigationItem.rightBarButtonItems = [searchItem,setItem]
  62. }
  63. @objc func modeSetAction() {
  64. let eqment = IHNewEquipmentVCtr()
  65. eqment.roomStyle = .equipmentEdit
  66. let aVC = self.vc as! IHAirVCtr
  67. eqment.devData = aVC.dataSource
  68. eqment.navigationBarTitle = aVC.dataSource?.name
  69. self.vc?.navigationController?.pushViewController(eqment, animated: true)
  70. }
  71. @objc func mapAction1(){
  72. let airVC = self.vc as! IHAirVCtr
  73. getPurifierHistory(airVC.dataSource!)
  74. }
  75. }
  76. extension IHAirManager: IHAirViewDelegate{
  77. func air_ctrolGear(_ purifierId: String, level: String) {
  78. IHRoomListService.share.purifiertTrunOff(purifierId: purifierId, status: "1", level: level, requestSuccess: {_ in
  79. log.debug(" air_adjustSwitch ")
  80. self.requestAirInfoData(purifierId)
  81. NotificationCenter.default.post(name: NSNotification.Name(kIHRoomListManagerNoticationReloadData), object: nil)
  82. }) {
  83. }
  84. }
  85. func air_switchDataType(_ index: Int, purifierId: String) {
  86. var dateType = "0"
  87. if index == 0{
  88. dateType = "0"
  89. }else if index == 1{
  90. dateType = "4"
  91. }else if index == 2{
  92. dateType = "1"
  93. }else if index == 3{
  94. dateType = "2"
  95. }
  96. IHAirService.share.getPurifierReport(purifierId, dateType: dateType, date: nil, requestSuccess: { (history) in
  97. self.mainView.reportData = history
  98. }) {
  99. }
  100. // IHAirService.share.getPurifierReport(purifierId, type: "\(index)", dataType: "0", requestSuccess: { (reportData) in
  101. // log.debug(" reportData - \(reportData)")
  102. // self.mainView.reportData = reportData
  103. // }) {
  104. //
  105. // }
  106. }
  107. func air_adjustSwitch(_ purifierId: String, status: String, level: String) {
  108. let aLavel = "1"
  109. IHRoomListService.share.purifiertTrunOff(purifierId: purifierId, status: status, level: aLavel, requestSuccess: {_ in
  110. log.debug(" air_adjustSwitch ")
  111. self.requestAirInfoData(purifierId)
  112. NotificationCenter.default.post(name: NSNotification.Name(kIHRoomListManagerNoticationReloadData), object: nil)
  113. }) {
  114. }
  115. }
  116. func requestAirInfoData(_ purifierId:String) {
  117. IHAirService.share.getPurifierInfo(purifierId, requestSuccess: { (data) in
  118. self.mainView.airData = data
  119. }) {
  120. }
  121. }
  122. func getPurifierHistory(_ devData:DevData) {
  123. HUD.show(.progress)
  124. HUD.hide(afterDelay: 20) { (isSuccess) in
  125. if isSuccess == true{
  126. g_showHUD("请求超时")
  127. }
  128. }
  129. let historyvc = IHRoomLightHistoryVCtr()
  130. historyvc.devId = devData.id
  131. historyvc.devType = "4"
  132. IHAirService.share.getPurifierReport(devData.id!, dateType: "0", date: nil, requestSuccess: { (history) in
  133. HUD.hide()
  134. historyvc.purifierHistroy = history
  135. self.vc?.navigationController?.pushViewController(historyvc, animated: true)
  136. }) {
  137. g_showHUD("空气净化器无历史数据")
  138. }
  139. }
  140. }