SBTHomeCell.swift 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. //
  2. // SBTHomeCell.swift
  3. // SolarBT
  4. //
  5. // Created by weclouds on 2019/1/24.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. class SBTHomeCell: UITableViewCell {
  10. var bleData:BLEData?{
  11. didSet{
  12. if let bleData = bleData {
  13. setStatusView(bleData.online!)
  14. let type = bleData.device_type!
  15. let device_mode = bleData.device_model!
  16. var typeStr = ""
  17. if type == "控制器" {
  18. typeStr = "Controller_household".da_localizedStr()
  19. }else if type == "控制器,路灯"{
  20. typeStr = "Controller_street_light".da_localizedStr()
  21. }else if type == "逆变器"{
  22. typeStr = "Inverter".da_localizedStr()
  23. }else if type == "逆变一体机"{
  24. typeStr = "All-in-one_inverter".da_localizedStr()
  25. }else if type == "市电路灯"{
  26. typeStr = "Mains_powered_street_light".da_localizedStr()
  27. }
  28. setTypeImage(type, online: bleData.online!)
  29. if bleData.isOld == false { // 0
  30. self.labelBox.isHidden = true
  31. deviceName.isHidden = false
  32. typeName.isHidden = false
  33. deviceName.text = bleData.device_name
  34. typeName.text = typeStr + "(\(device_mode))"
  35. }else{
  36. self.labelBox.isHidden = false
  37. // deviceName.text = typeStr + "(\(device_mode))"
  38. deviceName.isHidden = true
  39. typeName.isHidden = true
  40. ole_typelabel.text = typeStr
  41. old_device_typelabel.text = "(\(device_mode))"
  42. }
  43. }
  44. }
  45. }
  46. func getCurrentLanguage() -> String {
  47. // let defs = UserDefaults.standard
  48. // let languages = defs.object(forKey: "AppleLanguages")
  49. // let preferredLang = (languages! as AnyObject).object(0)
  50. let preferredLang = Bundle.main.preferredLocalizations.first! as NSString
  51. // let preferredLang = (languages! as AnyObject).object(0)
  52. // Log.debug("当前系统语言:\(preferredLang)")
  53. switch String(describing: preferredLang) {
  54. case "en-US", "en-CN":
  55. return "en"//英文
  56. case "zh-Hans-US","zh-Hans-CN","zh-Hant-CN","zh-TW","zh-HK","zh-Hans":
  57. return "cn"//中文
  58. default:
  59. return "en"
  60. }
  61. }
  62. // @IBOutlet weak var deviceMode: UILabel!
  63. @IBOutlet weak var typeImageView: UIImageView!
  64. @IBOutlet weak var deviceName: UILabel!
  65. @IBOutlet weak var typeName: UILabel!
  66. @IBOutlet weak var statusView: UIView!
  67. @IBOutlet weak var labelBox: UIStackView!
  68. @IBOutlet weak var ole_typelabel: UILabel!
  69. @IBOutlet weak var old_device_typelabel: UILabel!
  70. override func awakeFromNib() {
  71. super.awakeFromNib()
  72. // Initialization code
  73. createUI()
  74. }
  75. override func setSelected(_ selected: Bool, animated: Bool) {
  76. super.setSelected(selected, animated: animated)
  77. // Configure the view for the selected state
  78. }
  79. func createUI() {
  80. statusView.layer.masksToBounds = true
  81. statusView.layer.cornerRadius = 5
  82. ole_typelabel.setContentHuggingPriority(UILayoutPriority.defaultHigh, for: NSLayoutConstraint.Axis.horizontal)
  83. }
  84. func setTypename(_ type:String,device_mode:String) {
  85. if type == "0" {
  86. typeName.text = "Controller_household".da_localizedStr() + "(\(device_mode))"
  87. }else if type == "1" {
  88. typeName.text = "Controller_street_light".da_localizedStr() + "(\(device_mode))"
  89. }else if type == "3" {
  90. typeName.text = "Inverter".da_localizedStr() + device_mode
  91. }else if type == "4" {
  92. typeName.text = "All-in-one_inverter".da_localizedStr() + "(\(device_mode))"
  93. }else if type == "5" {
  94. typeName.text = "Mains_powered_street_light".da_localizedStr() + "(\(device_mode))"
  95. }
  96. }
  97. func setStatusView(_ isOnline:Bool) {
  98. if isOnline == true {
  99. statusView.backgroundColor = UIColor(hexString: "#29B009")
  100. }else{
  101. statusView.backgroundColor = UIColor(hexString: "#DFDFDF")
  102. }
  103. }
  104. func setTypeImage(_ type :String , online:Bool) {
  105. /*
  106. if type == "控制器,家用" {
  107. typeStr = "Controller_household".da_localizedStr()
  108. }else if type == "控制器,路灯"{
  109. typeStr = "Controller_street_light".da_localizedStr()
  110. }else if type == "逆变器"{
  111. typeStr = "Inverter".da_localizedStr()
  112. }else if type == "逆变一体机"{
  113. typeStr = "All-in-one_inverter".da_localizedStr()
  114. }else if type == "市电路灯"{
  115. typeStr = "Mains_powered_street_light".da_localizedStr()
  116. }
  117. */
  118. if type == "控制器" {
  119. if online == true{
  120. typeImageView.image = UIImage(named: "首页_太阳_时间提醒")
  121. }else{
  122. typeImageView.image = UIImage(named: "首页_太阳_时间提醒(1)")
  123. }
  124. }else if type == "控制器,路灯" {
  125. if online == true{
  126. typeImageView.image = UIImage(named: "首页_太阳_时间提醒")
  127. }else{
  128. typeImageView.image = UIImage(named: "首页_太阳_时间提醒(1)")
  129. }
  130. }else if type == "逆变器" {
  131. if online == true{
  132. typeImageView.image = UIImage(named: "逆变器")
  133. }else{
  134. typeImageView.image = UIImage(named: "逆变器-断线")
  135. }
  136. }else if type == "逆变一体机" {
  137. if online == true{
  138. typeImageView.image = UIImage(named: "逆变一体机")
  139. }else{
  140. typeImageView.image = UIImage(named: "逆变一体机-断线")
  141. }
  142. }else if type == "市电路灯" {
  143. if online == true{
  144. typeImageView.image = UIImage(named: "")
  145. }else{
  146. typeImageView.image = UIImage(named: "")
  147. }
  148. }
  149. }
  150. }