Commit 1267b7ed authored by Steven杜宇's avatar Steven杜宇

// 搜索

parent 9616fc14
...@@ -47,7 +47,7 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -47,7 +47,7 @@ class YHSearchInfomationVC: YHBaseViewController {
searchStr = "香港身份" searchStr = "香港身份"
self.searchBar.textField.text = "香港身份" self.searchBar.textField.text = "香港身份"
} }
searchText(searchStr) searchText()
if searchStr.count > 0 { if searchStr.count > 0 {
self.saveSearchHistory(searchStr) self.saveSearchHistory(searchStr)
} }
...@@ -81,6 +81,12 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -81,6 +81,12 @@ class YHSearchInfomationVC: YHBaseViewController {
tableView.backgroundColor = .white tableView.backgroundColor = .white
tableView.backgroundView = emptyDataTipsView tableView.backgroundView = emptyDataTipsView
tableView.register(YHSearchInfoCell.self, forCellReuseIdentifier: YHSearchInfoCell.cellReuseIdentifier) tableView.register(YHSearchInfoCell.self, forCellReuseIdentifier: YHSearchInfoCell.cellReuseIdentifier)
tableView.es.addPullToRefresh {
self.loadFirstData()
}
tableView.es.addInfiniteScrolling {
self.loadMoreData()
}
return tableView return tableView
}() }()
...@@ -92,7 +98,8 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -92,7 +98,8 @@ class YHSearchInfomationVC: YHBaseViewController {
guard let self = self else { return } guard let self = self else { return }
self.searchHistoryView.isHidden = true self.searchHistoryView.isHidden = true
self.searchBar.textField.text = text self.searchBar.textField.text = text
searchText(text) self.searchStr = text
searchText()
self.saveSearchHistory(text) self.saveSearchHistory(text)
} }
return view return view
...@@ -167,14 +174,14 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -167,14 +174,14 @@ class YHSearchInfomationVC: YHBaseViewController {
} }
} }
func searchText(_ text:String) { func searchText() {
self.tableView.scrollToTop()
YHHUD.show(.progress(message: "搜索中...")) YHHUD.show(.progress(message: "搜索中..."))
// 去除两端的空格 viewModel.searchArticleList(self.searchStr, isFirstPage : true) {
let targetText = text.trimmingCharacters(in: .whitespaces)
self.viewModel.searchArticleList(targetText) {
[weak self] success, error in [weak self] success, error in
YHHUD.hide() YHHUD.hide()
guard let self = self else { return } guard let self = self else { return }
items.removeAll() items.removeAll()
if let arr = self.viewModel.arrHomeNewsData { if let arr = self.viewModel.arrHomeNewsData {
items.append(contentsOf: arr) items.append(contentsOf: arr)
...@@ -182,6 +189,49 @@ class YHSearchInfomationVC: YHBaseViewController { ...@@ -182,6 +189,49 @@ class YHSearchInfomationVC: YHBaseViewController {
emptyDataTipsView.isHidden = (items.count > 0) emptyDataTipsView.isHidden = (items.count > 0)
searchHistoryView.isHidden = true searchHistoryView.isHidden = true
self.tableView.reloadData() self.tableView.reloadData()
tableView.es.stopPullToRefresh()
if self.viewModel.hasMoreForHomeNews == false {
tableView.es.noticeNoMoreData()
}
}
}
func loadMoreData() {
viewModel.searchArticleList(self.searchStr, isFirstPage : false) {
[weak self] success, error in
guard let self = self else { return }
items.removeAll()
if let arr = self.viewModel.arrHomeNewsData {
items.append(contentsOf: arr)
}
emptyDataTipsView.isHidden = (items.count > 0)
searchHistoryView.isHidden = true
self.tableView.reloadData()
tableView.es.stopLoadingMore()
if self.viewModel.hasMoreForHomeNews == false {
tableView.es.noticeNoMoreData()
}
}
}
func loadFirstData() {
viewModel.searchArticleList(self.searchStr, isFirstPage : true) {
[weak self] success, error in
guard let self = self else { return }
items.removeAll()
if let arr = self.viewModel.arrHomeNewsData {
items.append(contentsOf: arr)
}
emptyDataTipsView.isHidden = (items.count > 0)
searchHistoryView.isHidden = true
self.tableView.reloadData()
tableView.es.stopPullToRefresh()
if self.viewModel.hasMoreForHomeNews == false {
tableView.es.noticeNoMoreData()
}
} }
} }
......
...@@ -255,10 +255,20 @@ extension YHHomePageViewModel { ...@@ -255,10 +255,20 @@ extension YHHomePageViewModel {
} }
// 搜索 // 搜索
func searchArticleList(_ title: String, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func searchArticleList(_ title: String, isFirstPage:Bool, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String : Any] = ["page": 1,
var params: [String : Any] = [:]
if isFirstPage {
curPageIndex = 1
params = ["page": curPageIndex,
"page_size": 10,
"title": title]
} else {
params = ["page": curPageIndex + 1,
"page_size": 10, "page_size": 10,
"title": title] "title": title]
}
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Common.article let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Common.article
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
guard let self = self else { return } guard let self = self else { return }
...@@ -274,14 +284,31 @@ extension YHHomePageViewModel { ...@@ -274,14 +284,31 @@ extension YHHomePageViewModel {
for item in result.data { for item in result.data {
item.calHeightParam() item.calHeightParam()
} }
if isFirstPage {
self.totalCount = result.total
self.arrHomeNewsData = result.data self.arrHomeNewsData = result.data
curPageIndex = 1
} else {
curPageIndex = curPageIndex + 1
self.arrHomeNewsData?.append(contentsOf: result.data)
}
if let count = self.arrHomeNewsData?.count {
if count == self.totalCount {
self.hasMoreForHomeNews = false
} else {
self.hasMoreForHomeNews = true
}
}
callBackBlock(true, nil) callBackBlock(true, nil)
} else { } else {
self.arrHomeNewsData = []
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg) let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error) callBackBlock(false, error)
} }
} failBlock: { err in } failBlock: { err in
self.arrHomeNewsData = []
callBackBlock(false,err) callBackBlock(false,err)
} }
} }
......
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