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

// 红点逻辑

parent 37226c07
......@@ -20,12 +20,6 @@ let kProVersionKey = "pro_version"
let kClickKey = "click"
enum RedPointVersionType {
case none // 本地并无红点版本存储
case same // 本地版本和服务器版本一致
case different // 本地版本和服务器版本不一致
}
class YHServiceOrderProgressTableViewCell: UITableViewCell {
let redPointWidth = 6.0
......@@ -274,26 +268,21 @@ extension YHServiceOrderProgressTableViewCell {
if model.type == 3 || model.type == 4 {
if model.status == 3 { // 只有已完成状态才有红点显示逻辑处理 否则都隐藏
if model.type == 3 {
let targetKey = kMyScoreRedPointInfoKey
let versionType = getRedPointVersionFor(key: targetKey, proVersion: model.pro_version)
if versionType == .none { // 本地无记录
if model.pro_version == 0 {
messageLabel.text = "恭喜您,自评报告已生成~"
} else { // 本地有版本记录无论版本与服务器是否一致都走此逻辑
} else {
messageLabel.text = "恭喜您,方案评分已更新~"
}
self.redPointView.isHidden = !isNeedShowRedPointFor(key: targetKey, proVersion: model.pro_version)
self.redPointView.isHidden = !isNeedShowRedPointFor(key: kMyScoreRedPointInfoKey, proVersion: model.pro_version)
} else if model.type == 4 {
let targetKey = kMyPlanRedPointInfoKey
let versionType = getRedPointVersionFor(key: targetKey, proVersion: model.pro_version)
if versionType == .none { // 本地无记录
if model.pro_version == 0 {
messageLabel.text = "恭喜您,专属方案已生成~"
} else { // 本地有版本记录无论版本与服务器是否一致都走此逻辑
} else {
messageLabel.text = "恭喜您,专属方案已更新~"
}
self.redPointView.isHidden = !isNeedShowRedPointFor(key: targetKey, proVersion: model.pro_version)
self.redPointView.isHidden = !isNeedShowRedPointFor(key: kMyPlanRedPointInfoKey, proVersion: model.pro_version)
}
} else {
self.redPointView.isHidden = true
......@@ -442,27 +431,4 @@ extension YHServiceOrderProgressTableViewCell {
// 本地没有红点记录存储则必展示红点
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