Commit 16ae9907 authored by Steven杜宇's avatar Steven杜宇

// 红点逻辑

parent 37226c07
...@@ -20,12 +20,6 @@ let kProVersionKey = "pro_version" ...@@ -20,12 +20,6 @@ let kProVersionKey = "pro_version"
let kClickKey = "click" let kClickKey = "click"
enum RedPointVersionType {
case none // 本地并无红点版本存储
case same // 本地版本和服务器版本一致
case different // 本地版本和服务器版本不一致
}
class YHServiceOrderProgressTableViewCell: UITableViewCell { class YHServiceOrderProgressTableViewCell: UITableViewCell {
let redPointWidth = 6.0 let redPointWidth = 6.0
...@@ -274,26 +268,21 @@ extension YHServiceOrderProgressTableViewCell { ...@@ -274,26 +268,21 @@ extension YHServiceOrderProgressTableViewCell {
if model.type == 3 || model.type == 4 { if model.type == 3 || model.type == 4 {
if model.status == 3 { // 只有已完成状态才有红点显示逻辑处理 否则都隐藏 if model.status == 3 { // 只有已完成状态才有红点显示逻辑处理 否则都隐藏
if model.type == 3 { if model.type == 3 {
let targetKey = kMyScoreRedPointInfoKey if model.pro_version == 0 {
let versionType = getRedPointVersionFor(key: targetKey, proVersion: model.pro_version)
if versionType == .none { // 本地无记录
messageLabel.text = "恭喜您,自评报告已生成~" messageLabel.text = "恭喜您,自评报告已生成~"
} else { // 本地有版本记录无论版本与服务器是否一致都走此逻辑 } else {
messageLabel.text = "恭喜您,方案评分已更新~" messageLabel.text = "恭喜您,方案评分已更新~"
} }
self.redPointView.isHidden = !isNeedShowRedPointFor(key: kMyScoreRedPointInfoKey, proVersion: model.pro_version)
self.redPointView.isHidden = !isNeedShowRedPointFor(key: targetKey, proVersion: model.pro_version)
} else if model.type == 4 { } else if model.type == 4 {
let targetKey = kMyPlanRedPointInfoKey
let versionType = getRedPointVersionFor(key: targetKey, proVersion: model.pro_version) if model.pro_version == 0 {
if versionType == .none { // 本地无记录
messageLabel.text = "恭喜您,专属方案已生成~" messageLabel.text = "恭喜您,专属方案已生成~"
} else { // 本地有版本记录无论版本与服务器是否一致都走此逻辑 } else {
messageLabel.text = "恭喜您,专属方案已更新~" messageLabel.text = "恭喜您,专属方案已更新~"
} }
self.redPointView.isHidden = !isNeedShowRedPointFor(key: kMyPlanRedPointInfoKey, proVersion: model.pro_version)
self.redPointView.isHidden = !isNeedShowRedPointFor(key: targetKey, proVersion: model.pro_version)
} }
} else { } else {
self.redPointView.isHidden = true self.redPointView.isHidden = true
...@@ -442,27 +431,4 @@ extension YHServiceOrderProgressTableViewCell { ...@@ -442,27 +431,4 @@ extension YHServiceOrderProgressTableViewCell {
// 本地没有红点记录存储则必展示红点 // 本地没有红点记录存储则必展示红点
return true return true
} }
func getRedPointVersionFor(key: String, proVersion: Int) -> RedPointVersionType {
if key != kMyPlanRedPointInfoKey && key != kMyScoreRedPointInfoKey {
return .none
}
if let dict = UserDefaults.standard.object(forKey: key) as? [String: Any] {
if !dict.keys.contains(kProVersionKey) || !dict.keys.contains(kClickKey) {
return .none
}
if let version = dict[kProVersionKey] as? Int {
if version != proVersion { // 版本不一致一定显示红点
return .different
}
return .same
} else {
return .none
}
}
// 本地没有红点记录存储
return .none
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment