杨锴
2024-09-10 1554b451f66120d81693eb722875e49a7e9a4186
XQMuse/Root/Home/VC/CommentListVC.swift
@@ -8,6 +8,17 @@
import UIKit
import QMUIKit
import JQTools
import RxSwift
import RxRelay
class CommentListViewModel:RefreshInnerModel<CommentModel>{
            let id = BehaviorRelay<Int>(value: 0)
            override func api() -> (Observable<BaseResponse<BaseResponseList<CommentModel>>>)? {
                        return Services.getMeditationQuestion(id: id.value, page: page, pageSize: 20)
            }
}
class CommentListVC: BaseVC {
@@ -16,7 +27,9 @@
            @IBOutlet weak var label_questionNum: UILabel!
            @IBOutlet weak var tableView: UITableView!
            @IBOutlet weak var cons_height: NSLayoutConstraint!
            private var viewModel = CommentListViewModel()
    override func viewDidLoad() {
        super.viewDidLoad()
                        view.backgroundColor = .clear
@@ -31,6 +44,13 @@
                        cons_height.constant = JQ_ScreenH - 151 - JQ_NavBarHeight - UIDevice.jq_safeEdges.top - UIDevice.jq_safeEdges.bottom
                        tableView.register(CommentCommentHeaderView.self, forHeaderFooterViewReuseIdentifier: "_header")
                        tableView.register(CommentReplyTCell.self, forCellReuseIdentifier: "_CommentReplyTCell")
                        viewModel.configure(tableView)
                        viewModel.beginRefresh()
                        viewModel.dataSource.subscribe(onNext: {[unowned self]data in
                                    self.label_questionNum.text = "\(data?.total ?? 0)条提问"
                        }).disposed(by: disposeBag)
    }
            override func viewDidLayoutSubviews() {
@@ -51,8 +71,18 @@
                                    // 当长按开始时,你可以获取到 cell 的信息
                                    if let headerView = gesture.view as? CommentCommentHeaderView {
                                                let index = headerView.tag - 1000
                                                ChooseOptView.show(titles: ["举报提问","拉入黑名单"]) { _ in
                                                let model = viewModel.dataSource.value!.list[index]
                                                ChooseOptView.show(titles: ["举报提问","拉入黑名单"]) { v in
                                                            if v == 0{
                                                                        ChooseOptTitleView.show(title: "举报提问", contents: ["举报提问","违法违规","色情低俗","低差广告","不友善、引战","诱导关注点赞","网络暴力","其他"]) { text in
                                                                                    Services.meditationReport(id: model.id, reason: text).subscribe(onNext: {_ in
                                                                                                alertSuccess(msg: "举报成功")
                                                                                    }).disposed(by: self.disposeBag)
                                                                        }
                                                            }else{
                                                                        //todo
                                                            }
                                                }
                                    }
                        }
@@ -70,6 +100,8 @@
                                    longPress.minimumPressDuration = 0.5
                                    headerView.addGestureRecognizer(longPress)
                        }
                        let v = viewModel.dataSource.value!.list[section]
                        headerView.setCommentModel(v)
                        return headerView
            }
@@ -87,18 +119,23 @@
            }
            func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
                        var cell = tableView.dequeueReusableCell(withIdentifier: "_CommentReplyTCell", for: indexPath) as? CommentReplyTCell
                        cell?.setText(text: "助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。助力13亿女性及其家庭生命蜕变,幸福重生的伟大愿景。")
                        let cell = tableView.dequeueReusableCell(withIdentifier: "_CommentReplyTCell", for: indexPath) as? CommentReplyTCell
                        let v = viewModel.dataSource.value?.list[indexPath.row]
                        cell?.setText(text: v?.replyContent ?? "")
                        return cell!
            }
            func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
                        return 1
                        let v = viewModel.dataSource.value?.list[section]
                        if v!.replyContent.isEmpty{
                                    return 0
                        }else{
                                    return 1
                        }
            }
            func numberOfSections(in tableView: UITableView) -> Int {
                        return 2
                        return viewModel.dataSource.value?.list.count ?? 0
            }
}