Commit a6c1e01c authored by David黄金龙's avatar David黄金龙

缓存 首页banner

parent 909fd5de
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
import UIKit import UIKit
import ESPullToRefresh import ESPullToRefresh
import GKNavigationBarSwift import GKNavigationBarSwift
import SmartCodable
let kShowAlertOfSuggestLatestVersion = "show_alert_suggest_latest_version" let kShowAlertOfSuggestLatestVersion = "show_alert_suggest_latest_version"
...@@ -107,6 +108,8 @@ class YHHomePageViewController: YHBaseViewController { ...@@ -107,6 +108,8 @@ class YHHomePageViewController: YHBaseViewController {
} }
private extension YHHomePageViewController { private extension YHHomePageViewController {
@objc func didSearchBarClicked() { @objc func didSearchBarClicked() {
let vc = YHSearchInfomationVC() let vc = YHSearchInfomationVC()
vc.searchPlaceHolder = searchView.placeHolder vc.searchPlaceHolder = searchView.placeHolder
...@@ -115,17 +118,45 @@ private extension YHHomePageViewController { ...@@ -115,17 +118,45 @@ private extension YHHomePageViewController {
} }
func getData() { func getData() {
homeHeaderView.homeBannerView.dataArr = [YHBannerModel.localDefaultItem()] homeHeaderView.homeBannerView.dataArr = getLastBannerData()
loadFirstData() loadFirstData()
getHomeBannerData() getHomeBannerData()
} }
func getLastBannerData()->[YHBannerModel] {
let arrString2 = UserDefaults.standard.value(forKey: "homeBannerData")
if let tmp = arrString2 as? String,let dic = tmp.toArray() {
guard let result = [YHBannerModel].deserialize(from: dic as? [Any]) else {
return [YHBannerModel.localDefaultItem()]
}
var arrData = result as? [YHBannerModel]
if let arr = arrData {
if arr.isEmpty {
let model = YHBannerModel.localDefaultItem()
arrData = [model]
} else if arr.count > 10 {
arrData = Array(arrData?[0...9] ?? [])
}
return arrData!
}
}
return [YHBannerModel.localDefaultItem()]
}
func getHomeBannerData() { func getHomeBannerData() {
DispatchQueue.global().async { DispatchQueue.global().async {
self.viewModel.getHomeBanner(0) {[weak self] success, error in self.viewModel.getHomeBanner(0) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
DispatchQueue.main.async { DispatchQueue.main.async {
self.homeHeaderView.homeBannerView.dataArr = self.viewModel.banners ?? [YHBannerModel.localDefaultItem()] self.homeHeaderView.homeBannerView.dataArr = self.viewModel.banners ?? [YHBannerModel.localDefaultItem()]
if let arrB = self.viewModel.banners,arrB.count > 0 {
let arrString = arrB.toJSONString()
UserDefaults.standard.set(arrString, forKey: "homeBannerData")
UserDefaults.standard.synchronize()
}
} }
} }
} }
......
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