|
@@ -13,6 +13,14 @@ import Photos
|
|
|
|
|
|
class PublishAddTopicController: BaseViewController {
|
|
class PublishAddTopicController: BaseViewController {
|
|
|
|
|
|
|
|
+ // 话题组のModelArr
|
|
|
|
+ var communityTopicModels = Array<CommunityTopicModel>()
|
|
|
|
+
|
|
|
|
+ // 话题组下子话题のModelArr
|
|
|
|
+ var topicListModels = Array<CommunityTopicDataModel>()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
override func viewDidLoad() {
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
super.viewDidLoad()
|
|
setupViews()
|
|
setupViews()
|
|
@@ -39,6 +47,13 @@ class PublishAddTopicController: BaseViewController {
|
|
|
|
|
|
override func setupData() {
|
|
override func setupData() {
|
|
|
|
|
|
|
|
+ communityTopicCategoryApi(page:1)
|
|
|
|
+
|
|
|
|
+// // 上啦加载
|
|
|
|
+// tableView.addFooterWithWithHeader(withAutomaticallyRefresh: false) {
|
|
|
|
+// [weak self] (page) in
|
|
|
|
+// self?.communityTopicCategoryApi(page:page)
|
|
|
|
+// }
|
|
}
|
|
}
|
|
|
|
|
|
lazy var tableView: UITableView = {
|
|
lazy var tableView: UITableView = {
|
|
@@ -67,7 +82,7 @@ extension PublishAddTopicController : UITableViewDelegate, UITableViewDataSource
|
|
case 0:
|
|
case 0:
|
|
return 1
|
|
return 1
|
|
case 1:
|
|
case 1:
|
|
- return 6
|
|
|
|
|
|
+ return topicListModels.count
|
|
default:
|
|
default:
|
|
return 1
|
|
return 1
|
|
}
|
|
}
|
|
@@ -77,9 +92,21 @@ extension PublishAddTopicController : UITableViewDelegate, UITableViewDataSource
|
|
switch indexPath.section {
|
|
switch indexPath.section {
|
|
case 0:
|
|
case 0:
|
|
let picCell = PublishTopicTypeCell.cellWith(tableView: tableView, indexPath: indexPath)
|
|
let picCell = PublishTopicTypeCell.cellWith(tableView: tableView, indexPath: indexPath)
|
|
|
|
+ picCell.topicModels = communityTopicModels
|
|
|
|
+ picCell.chooseTopicBlock = {
|
|
|
|
+ [weak self] (topicId, indexRow) in
|
|
|
|
+ if indexRow == 0 {
|
|
|
|
+ // 推荐
|
|
|
|
+ self?.communityTopicsApi(isSuggest: 1, categoryId: topicId, page: 1)
|
|
|
|
+ } else {
|
|
|
|
+ // 其他
|
|
|
|
+ self?.communityTopicsApi(isSuggest: 0, categoryId: topicId, page: 1)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
return picCell
|
|
return picCell
|
|
case 1:
|
|
case 1:
|
|
let titleCell = PublishTopicItemCell.cellWith(tableView: tableView, indexPath: indexPath)
|
|
let titleCell = PublishTopicItemCell.cellWith(tableView: tableView, indexPath: indexPath)
|
|
|
|
+ titleCell.subTopicModel = topicListModels[indexPath.row]
|
|
return titleCell
|
|
return titleCell
|
|
default:
|
|
default:
|
|
return UITableViewCell()
|
|
return UITableViewCell()
|
|
@@ -126,3 +153,53 @@ extension PublishAddTopicController : UITableViewDelegate, UITableViewDataSource
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// MARK: -
|
|
|
|
+extension PublishAddTopicController {
|
|
|
|
+
|
|
|
|
+ /// 话题组
|
|
|
|
+ ///
|
|
|
|
+ /// - Parameters:
|
|
|
|
+ /// - isSuggest: 是否推荐
|
|
|
|
+ /// - page: 分页
|
|
|
|
+ func communityTopicCategoryApi(page:Int) {
|
|
|
|
+ SwiftMoyaNetWorkServiceCommunity.shared().communityTopicCategoryApi(isSuggest: 0, page: page) { [weak self] (communityTopicCategoryModel) -> (Void) in
|
|
|
|
+ let topicCategoryModel = communityTopicCategoryModel as? CommunityTopicCategoryModel
|
|
|
|
+ if topicCategoryModel?.pagination?.currentPage ?? 1 <= topicCategoryModel?.pagination?.totalPages ?? 1 {
|
|
|
|
+ if topicCategoryModel?.pagination?.currentPage == 1{
|
|
|
|
+ self?.communityTopicModels.removeAll()
|
|
|
|
+ }
|
|
|
|
+ self?.communityTopicModels = (self?.communityTopicModels)! + (topicCategoryModel?.data!)!
|
|
|
|
+ self?.tableView.reloadData()
|
|
|
|
+ if self?.communityTopicModels.count ?? 0 >= topicCategoryModel?.pagination?.total ?? 0 {
|
|
|
|
+// self?.collectionView.isHiddenFooter(true)
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+// self?.collectionView.endFooterNoMoreData()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /// 话题列表
|
|
|
|
+ ///
|
|
|
|
+ /// - Parameter page: 分页
|
|
|
|
+ func communityTopicsApi(isSuggest:Int, categoryId:Int, page:Int) {
|
|
|
|
+ SwiftMoyaNetWorkServiceCommunity.shared().communityTopicsApi(categoryId: categoryId, isSuggest: isSuggest, name: "", page: page) {
|
|
|
|
+ [weak self] (communityTopicsModel) -> (Void) in
|
|
|
|
+ let communityTopicsModel = communityTopicsModel as? CommunityTopicsModel
|
|
|
|
+ if communityTopicsModel?.pagination?.currentPage ?? 1 <= communityTopicsModel?.pagination?.totalPages ?? 1 {
|
|
|
|
+ if communityTopicsModel?.pagination?.currentPage == 1{
|
|
|
|
+ self?.topicListModels.removeAll()
|
|
|
|
+ }
|
|
|
|
+ self?.topicListModels = (self?.topicListModels)! + (communityTopicsModel?.data!)!
|
|
|
|
+ self?.tableView.reloadData()
|
|
|
|
+ if self?.topicListModels.count ?? 0 >= communityTopicsModel?.pagination?.total ?? 0 {
|
|
|
|
+ self?.tableView.isHiddenFooter(true)
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ self?.tableView.endFooterNoMoreData()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|