jsdw_ios/QuickLocation/Section/Group/ReviewMemberList/ReviewMemberListVC.swift

69 lines
1.9 KiB
Swift

//
// ReviewMemberListVC.swift
// QuickLocation
//
// Created by on 2026/6/10.
//
import UIKit
import RxSwift
import RxCocoa
import RxDataSources
import ObjectMapper
class ReviewMemberListVC: BaseViewController {
fileprivate var rootView: ReviewMemberListView!
override func loadView() {
rootView = ReviewMemberListView(frame: UIScreen.main.bounds)
view = rootView
}
private var viewModel: ReviewMemberListViewModel
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
bindViewModel()
requestReviewlist()
}
private func bindViewModel() {
viewModel.output.sectionedItems
.bind(to: rootView.tableView.rx.items(dataSource: dataSource))
.disposed(by: disposeBag)
}
// MARK: - UITableViewDataSource
lazy private var dataSource: RxTableViewSectionedReloadDataSource<ReviewMemberListSectionModel> = {
return RxTableViewSectionedReloadDataSource<ReviewMemberListSectionModel>(
configureCell: { (_, tableView, indexPath, model) in
let cell: ReviewMemberCell = tableView.dequeueReusableCell(for: indexPath)
cell.configure(model)
return cell
})
}()
// MARK: - API
private func requestReviewlist() {
DLToast.showLoading()
GroupService.reviewlist(requestData: ["group_key": viewModel.groupId]).subscribe { response in
DLToast.dismiss()
}.disposed(by: disposeBag)
}
// MARK: - Init
init(groupId: String) {
self.viewModel = ReviewMemberListViewModel(groupId: groupId)
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}