123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- //
- // SearchTopicListViewController.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/6/19.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import UIKit
- import JXSegmentedView
- import SwiftyMediator
- class SearchTopicListViewController: BaseViewController {
- var keyWord : String = ""
- var communityTopicModels = Array<CommunityTopicDataModel>()
-
- override func viewDidLoad() {
- super.viewDidLoad()
- setupViews()
- setupLayouts()
- setupData()
- }
- override func setupViews() {
- navigationBar.isHidden = true
- view.backgroundColor = kf7f8faColor
- view.addSubview(tableView)
- }
-
- override func setupLayouts() {
- tableView.snp.makeConstraints { (make) in
- make.top.equalTo(5)
- make.left.equalTo(0)
- make.right.equalTo(0)
- make.bottom.equalTo(0)
- }
- }
-
- override func setupData() {
- tableView.addHeader(withBeginRefresh: true, animation: true) {
- [weak self] (page) in
- self?.communityTopicsApi(page: page)
- }
- tableView.addFooter(withAutomaticallyRefresh: false) {
- [weak self] (page) in
- self?.communityTopicsApi(page: page)
- }
- }
-
- lazy var tableView: UITableView = {
- let tableView = UITableView(frame: CGRect.zero, style: UITableView.Style.plain)
- tableView.backgroundColor = UIColor.white
- tableView.separatorStyle = .none
- tableView.rowHeight = 100
- tableView.dataSource = self
- tableView.delegate = self
- return tableView
- }()
-
- var communityTopicsModel : CommunityTopicsModel?
-
- }
- extension SearchTopicListViewController {
-
-
- /// 话题列表
- ///
- /// - Parameter page: 分页
- func communityTopicsApi(page:Int) {
-
- SwiftMoyaNetWorkServiceCommunity.shared().communityTopicsApi(name: keyWord, page: page, completion: {
- [weak self] (communityTopicsModel) -> (Void) in
- DIYEmptyView.emptyNoDataTableView(tableView: self?.tableView, imageStr: .twelve, detailStr: .twelve)
- self?.communityTopicsModel = communityTopicsModel as? CommunityTopicsModel
- if self?.communityTopicsModel?.pagination?.currentPage ?? 1 <= self?.communityTopicsModel?.pagination?.totalPages ?? 1 {
- if self?.communityTopicsModel?.pagination?.currentPage == 1{
- self?.communityTopicModels.removeAll()
- self?.tableView.resetNoMoreData()
- }
- self?.communityTopicModels = (self?.communityTopicModels)! + (self?.communityTopicsModel?.data!)!
- self?.tableView.reloadData()
- MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, currentPage: self?.communityTopicsModel?.pagination?.currentPage, totalPages: self?.communityTopicsModel?.pagination?.totalPages)
- }else {
- MJRefreshManager.hiddenFooterNoMoreData(tableView:self?.tableView)
- }
- }) {
- [weak self] (loadingStatus) in
- MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
- }
- }
- }
- extension SearchTopicListViewController :UITableViewDataSource,UITableViewDelegate {
-
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return communityTopicModels.isEmpty ? 0 : communityTopicModels.count
- }
-
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- let cell = SearchTopicListTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
- cell.communityTopicDataModel = communityTopicModels[indexPath.row]
- return cell
- }
-
- func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
- let communityTopicDataModel = communityTopicModels[indexPath.row]
- if communityTopicDataModel.id != nil {
- Mediator.push(CommunityRouterModuleType.pushFeaturedTopics(id: communityTopicDataModel.id ?? 0))
- }
- }
-
- }
- extension SearchTopicListViewController : JXSegmentedListContainerViewListDelegate {
- func listView() -> UIView {
- return view
- }
- }
|