//
|
// ExchangeRecordHistoryVC.swift
|
// DolphinEnglishLearnManager
|
//
|
// Created by 无故事王国 on 2024/5/20.
|
//
|
|
import UIKit
|
import RxSwift
|
|
let Refresh_MarketExchange_Noti = Notification.Name.init("Refresh_MarketExchange_Noti")
|
|
class ExchangeRecordViewModel:RefreshInnerModel<ExchangeRecordModel>{
|
|
override func api() -> (Observable<BaseResponse<BaseResponseList<ExchangeRecordModel>>>)? {
|
return Services.exchangeRecord(page: page, pageSize: 20)
|
}
|
}
|
|
class ExchangeRecordHistoryVC: BaseVC {
|
|
|
private let viewModel = ExchangeRecordViewModel()
|
private var tableView:UITableView!
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
|
viewModel.configure(tableView)
|
viewModel.beginRefresh()
|
|
yy_popBlock = {[weak self] () in
|
self?.navigationController?.popToRootViewController(animated: true)
|
}
|
}
|
|
override func setUI() {
|
super.setUI()
|
tableView = UITableView(frame: .zero, style: .plain)
|
tableView.delegate = self
|
tableView.dataSource = self
|
tableView.backgroundColor = .clear
|
tableView.showsVerticalScrollIndicator = false
|
tableView.showsLargeContentViewer = false
|
tableView.separatorStyle = .none
|
tableView.register(UINib(nibName: "GoodsItemTCell", bundle: nil), forCellReuseIdentifier: "_GoodsItemTCell")
|
view.addSubview(tableView)
|
tableView.snp.makeConstraints {[weak self] make in
|
guard let weakSelf = self else { return }
|
make.left.equalTo(159 * Config.RatioW)
|
make.right.equalTo(-159 * Config.RatioW)
|
make.top.equalTo(weakSelf.view.safeAreaLayoutGuide.snp.top).offset(27 * Config.RatioW)
|
make.bottom.equalTo(weakSelf.view.safeAreaLayoutGuide.snp.bottom).offset(-5)
|
}
|
}
|
|
override func setRx() {
|
NotificationCenter.default.rx.notification(Refresh_MarketExchange_Noti).take(until: self.rx.deallocated).subscribe(onNext: {[weak self] _ in
|
self?.viewModel.beginRefresh()
|
}).disposed(by: disposeBag)
|
}
|
}
|
|
|
extension ExchangeRecordHistoryVC:UITableViewDelegate{
|
|
}
|
|
extension ExchangeRecordHistoryVC:UITableViewDataSource{
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
let cell = tableView.dequeueReusableCell(withIdentifier: "_GoodsItemTCell") as! GoodsItemTCell
|
|
if let model = viewModel.dataSource.value?.records[indexPath.row]{
|
cell.setModel(model)
|
}
|
return cell
|
}
|
|
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
return viewModel.dataSource.value?.records.count ?? 0
|
}
|
}
|