Commit 73df3ce1 authored by Steven杜宇's avatar Steven杜宇

// 首页资讯

parent b178d6f1
......@@ -91,6 +91,7 @@ class YHHomeIdentityViewController: YHBaseViewController {
}
func createUI() {
gk_navigationBar.isHidden = true
self.view.addSubview(self.tableView)
self.view.addSubview(self.subTabBar)
self.subTabBar.snp.makeConstraints { make in
......
......@@ -12,6 +12,8 @@ import JXSegmentedView
class YHHomeInfoDetailContainerViewController: YHBaseViewController {
var customTitle:String = ""
var classifyId:Int = 0
var isHaveHot: Bool = true // 是否有精品
lazy var tabTitles: [String] = {
if isHaveHot {
......@@ -24,9 +26,12 @@ class YHHomeInfoDetailContainerViewController: YHBaseViewController {
let vc1 = YHHomeInfoDetailViewController()
vc1.isHot = false
vc1.isShowTab = self.isHaveHot
vc1.classifyId = self.classifyId
let vc2 = YHHomeInfoDetailViewController()
vc2.isHot = true
vc2.isShowTab = self.isHaveHot
vc2.classifyId = self.classifyId
if isHaveHot {
return [vc1, vc2]
......
......@@ -12,6 +12,7 @@ import JXSegmentedView
class YHHomeInfoDetailViewController: YHBaseViewController {
var isHot:Bool = false // 是否是精品
var classifyId:Int = 0
var isShowTab: Bool = true
lazy var viewModel : YHHomePageViewModel = {
let viewModel = YHHomePageViewModel()
......@@ -40,6 +41,14 @@ class YHHomeInfoDetailViewController: YHBaseViewController {
return collectinoView
}()
lazy var emptyDataTipsView: YHEmptyDataView = {
let view = YHEmptyDataView.createView("暂无内容", kEmptyCommonBgName)
let topMargin = 310-k_Height_NavigationtBarAndStatuBar
view.topMargin = topMargin
view.isHidden = true
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.setupUI()
......@@ -50,11 +59,15 @@ class YHHomeInfoDetailViewController: YHBaseViewController {
gk_navigationBar.isHidden = true
self.view.backgroundColor = .white
self.view.addSubview(self.collectView)
self.view.addSubview(self.emptyDataTipsView)
self.collectView.snp.makeConstraints { make in
make.top.bottom.equalToSuperview()
make.left.equalTo(20)
make.right.equalTo(-20)
}
self.emptyDataTipsView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
}
}
......@@ -121,7 +134,8 @@ extension YHHomeInfoDetailViewController: JXSegmentedListContainerViewListDelega
extension YHHomeInfoDetailViewController {
// 获取最新资讯
func getTheNewestInfoList(isFirstPage: Bool) {
self.viewModel.getList(isFirsPage: isFirstPage, isHot: self.isHot) { success, error in
let haveHot = self.isHot ? self.isHot : nil
self.viewModel.getList(isFirsPage: isFirstPage, isHot: haveHot, classifyId: classifyId) { success, error in
self.collectView.reloadData()
self.collectView.es.stopPullToRefresh()
self.collectView.es.stopLoadingMore()
......@@ -129,6 +143,9 @@ extension YHHomeInfoDetailViewController {
self.collectView.es.noticeNoMoreData()
self.collectView.footer?.alpha = 1
}
let count = self.viewModel.arrHomeNewsData?.count ?? 0
self.emptyDataTipsView.isHidden = (count > 0)
self.collectView.isHidden = (count <= 0)
}
}
}
......
......@@ -44,6 +44,7 @@ class YHHomeInformationViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
gk_navigationBar.isHidden = true
self.view.backgroundColor = .white
self.view.addSubview(self.collectView)
self.collectView.snp.makeConstraints { make in
......@@ -122,6 +123,9 @@ extension YHHomeInformationViewController : CollectionViewWaterfallLayoutDelegat
func collectionView(_ collectionView: UICollectionView, layout: UICollectionViewLayout, heightForHeaderInSection section: Int) -> Float {
if self.sectionItems.count <= 0 {
return 0.0
}
var row = self.sectionItems.count/3
if row%3 != 0 {
row = row + 1
......
......@@ -23,6 +23,7 @@ class YHHomeInfoSectionCell: UICollectionViewCell {
lazy var imgView: UIImageView = {
let imgV = UIImageView(image: UIImage(named: "global_default_image"))
imgV.clipsToBounds = true
return imgV
}()
......
......@@ -18,15 +18,21 @@ class YHHomeInfoSectionHeadView: UICollectionReusableView {
var items:[YHHomeInfoClassifyModel?] = [] {
didSet {
self.collectView.reloadData()
var row = items.count/3
if row%3 != 0 {
row = row + 1
}
let totalHeight = Double(row) * kHomeItemHeight
self.collectView.reloadData()
self.collectView.snp.updateConstraints { make in
make.height.equalTo(totalHeight)
}
self.bottomLineView.snp.updateConstraints { make in
make.top.equalTo(self.collectView.snp.bottom).offset(items.count > 0 ? 4.0 : 0.0)
}
self.collectView.isHidden = items.count <= 0
self.bottomLineView.isHidden = items.count <= 0
self.titleLabel.isHidden = items.count <= 0
self.setNeedsLayout()
self.layoutIfNeeded()
}
......@@ -118,6 +124,7 @@ extension YHHomeInfoSectionHeadView: UICollectionViewDelegate, UICollectionViewD
let vc = YHHomeInfoDetailContainerViewController()
vc.customTitle = item.name
vc.isHaveHot = item.hotNum > 0
vc.classifyId = item.id
UIViewController.current?.navigationController?.pushViewController(vc)
}
}
......
......@@ -320,7 +320,7 @@ extension YHHomePageViewModel {
}
}
func getList(isFirsPage : Bool, isHot:Bool? = nil, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
func getList(isFirsPage : Bool, isHot:Bool? = nil, classifyId: Int? = nil, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
var params: [String : Any] = ["page": curPageIndex,
"page_size": searchPageSize]
if isFirsPage {
......@@ -334,6 +334,10 @@ extension YHHomePageViewModel {
if let isHot = isHot {
params["is_hot"] = isHot ? 1 : 0
}
if let classifyId = classifyId {
params["classify_id[0]"] = classifyId
}
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Common.article
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
guard let self = self else { return }
......
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