Commit 0a9f5bf2 authored by Steven杜宇's avatar Steven杜宇

// 搜索相关

parent 292298db
...@@ -46,6 +46,7 @@ class YHHomePageViewController: YHBaseViewController { ...@@ -46,6 +46,7 @@ class YHHomePageViewController: YHBaseViewController {
requestAppNewVersion() requestAppNewVersion()
//获取OSS密钥 //获取OSS密钥
YHOSSManager.share.getOSSID() YHOSSManager.share.getOSSID()
updateDefaultSearchKeyWord()
} }
lazy var searchView: YHHomeSearchView = { lazy var searchView: YHHomeSearchView = {
...@@ -60,6 +61,16 @@ class YHHomePageViewController: YHBaseViewController { ...@@ -60,6 +61,16 @@ class YHHomePageViewController: YHBaseViewController {
return view return view
}() }()
func updateDefaultSearchKeyWord() {
var placeHolder = "香港生活"
if isHaveLocalSearchRecords() {
let latestValidSearchWord = getLatestValidSearchWord()
if !latestValidSearchWord.isEmpty {
placeHolder = latestValidSearchWord
}
}
searchView.placeHolder = placeHolder
}
var tapTimestamp : CFAbsoluteTime = -10.0 var tapTimestamp : CFAbsoluteTime = -10.0
} }
......
...@@ -10,10 +10,30 @@ import UIKit ...@@ -10,10 +10,30 @@ import UIKit
import AVFoundation import AVFoundation
import AVKit import AVKit
// 搜索文字集合本地存储key
let searchInfoHistoryKey = "searchInfoHistoryKey"
// 最近一条有效搜索本地存储key
let kLatestValidSearchKey = "kLatestValidSearchKey"
// 本地是否有搜索记录
func isHaveLocalSearchRecords()-> Bool {
if let arr = UserDefaults.standard.array(forKey: searchInfoHistoryKey) as? [String], arr.count > 0 {
return true
}
return false
}
// 获取最新有效搜索记录
func getLatestValidSearchWord() -> String {
if let text = UserDefaults.standard.string(forKey: kLatestValidSearchKey), !text.isEmpty {
return text
}
return ""
}
class YHSearchInfomationVC: YHBaseViewController { class YHSearchInfomationVC: YHBaseViewController {
static let searchInfoHistoryKey = "searchInfoHistoryKey"
static let searchHistoryMaxCount = 10 static let searchHistoryMaxCount = 10
var searchStr = "" var searchStr = ""
var items:[YHHomeListModel] = [] var items:[YHHomeListModel] = []
...@@ -169,6 +189,11 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -169,6 +189,11 @@ class YHSearchInfomationVC: YHBaseViewController {
if let arr = self.viewModel.arrHomeNewsData { if let arr = self.viewModel.arrHomeNewsData {
items.append(contentsOf: arr) items.append(contentsOf: arr)
} }
if items.count > 0, !self.searchStr.isEmpty {
self.saveLatestValidSearchKewWord(self.searchStr)
}
emptyDataTipsView.isHidden = (items.count > 0) emptyDataTipsView.isHidden = (items.count > 0)
searchHistoryView.isHidden = true searchHistoryView.isHidden = true
self.tableView.reloadData() self.tableView.reloadData()
...@@ -239,7 +264,7 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -239,7 +264,7 @@ class YHSearchInfomationVC: YHBaseViewController {
} }
func getSearchHistoryList() -> [String] { func getSearchHistoryList() -> [String] {
if let arr = UserDefaults.standard.array(forKey: Self.searchInfoHistoryKey) as? [String] { if let arr = UserDefaults.standard.array(forKey: searchInfoHistoryKey) as? [String] {
return arr return arr
} }
return [] return []
...@@ -273,7 +298,7 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -273,7 +298,7 @@ class YHSearchInfomationVC: YHBaseViewController {
arr.insert(targetText, at: 0) arr.insert(targetText, at: 0)
arr.removeLast() arr.removeLast()
} }
UserDefaults.standard.set(arr, forKey: Self.searchInfoHistoryKey) UserDefaults.standard.set(arr, forKey: searchInfoHistoryKey)
UserDefaults.standard.synchronize() UserDefaults.standard.synchronize()
} }
...@@ -287,6 +312,11 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -287,6 +312,11 @@ class YHSearchInfomationVC: YHBaseViewController {
searchBar.textField.becomeFirstResponder() searchBar.textField.becomeFirstResponder()
} }
} }
func saveLatestValidSearchKewWord(_ keyWord: String) {
UserDefaults.standard.set(keyWord , forKey: kLatestValidSearchKey)
UserDefaults.standard.synchronize()
}
} }
extension YHSearchInfomationVC: UITableViewDelegate, UITableViewDataSource { extension YHSearchInfomationVC: UITableViewDelegate, UITableViewDataSource {
......
...@@ -9,6 +9,19 @@ ...@@ -9,6 +9,19 @@
import UIKit import UIKit
class YHHomeSearchView: UIView { class YHHomeSearchView: UIView {
static let viewH : CGFloat = 36.0 static let viewH : CGFloat = 36.0
lazy var placeHolderLabel: UILabel = {
let lable = UILabel()
lable.text = "香港身份"
lable.font = UIFont.PFSC_R(ofSize: 13)
lable.textColor = UIColor(hex: 0x94A3B8, alpha: 1.0)
return lable
}()
var placeHolder: String = "" {
didSet {
self.placeHolderLabel.text = placeHolder
}
}
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
...@@ -34,13 +47,8 @@ private extension YHHomeSearchView { ...@@ -34,13 +47,8 @@ private extension YHHomeSearchView {
make.width.height.equalTo(16) make.width.height.equalTo(16)
} }
addSubview(placeHolderLabel)
let lable = UILabel() placeHolderLabel.snp.makeConstraints { make in
lable.text = "香港身份"
lable.font = UIFont.PFSC_R(ofSize: 13)
lable.textColor = UIColor(hex: 0x94A3B8, alpha: 1.0)
addSubview(lable)
lable.snp.makeConstraints { make in
make.centerY.equalToSuperview() make.centerY.equalToSuperview()
make.left.equalTo(imageV.snp.right).offset(8) make.left.equalTo(imageV.snp.right).offset(8)
make.height.equalTo(18) make.height.equalTo(18)
......
...@@ -47,8 +47,19 @@ class YHServerHKLifeViewController: YHBaseViewController { ...@@ -47,8 +47,19 @@ class YHServerHKLifeViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
loadData() loadData()
updateDefaultSearchKeyWord()
} }
func updateDefaultSearchKeyWord() {
var placeHolder = "香港生活"
if isHaveLocalSearchRecords() {
let latestValidSearchWord = getLatestValidSearchWord()
if !latestValidSearchWord.isEmpty {
placeHolder = latestValidSearchWord
}
}
tableHeadView.searchPlaceHolder = placeHolder
}
} }
extension YHServerHKLifeViewController { extension YHServerHKLifeViewController {
......
...@@ -47,6 +47,18 @@ class YHServiceListViewController: YHBaseViewController { ...@@ -47,6 +47,18 @@ class YHServiceListViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
loadData() loadData()
updateDefaultSearchKeyWord()
}
func updateDefaultSearchKeyWord() {
var placeHolder = "香港身份"
if isHaveLocalSearchRecords() {
let latestValidSearchWord = getLatestValidSearchWord()
if !latestValidSearchWord.isEmpty {
placeHolder = latestValidSearchWord
}
}
tableHeadView.searchPlaceHolder = placeHolder
} }
} }
......
...@@ -18,6 +18,11 @@ class YHServerTableHeadView: UIView { ...@@ -18,6 +18,11 @@ class YHServerTableHeadView: UIView {
updateAllViews() updateAllViews()
} }
} }
var searchPlaceHolder:String = "" {
didSet {
search.placeHolder = searchPlaceHolder
}
}
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
backgroundColor = .white backgroundColor = .white
......
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