无故事王国
2023-09-25 69d86fd3224046b2e2b57a71fcfcd8706d179e21
WanPai/Root/Games/VC/GamesDataSourceSubListVC.swift
@@ -6,16 +6,40 @@
//
import UIKit
import RxRelay
import RxSwift
class GamesDataSourceViewModel:RefreshModel<GamesRecordModel>{
   private var type:GamesSubType!
   init(type:GamesSubType) {
      super.init()
      self.type = type
   }
   let userId = BehaviorRelay<Int>(value:0)
   override func api() -> (Observable<BaseResponse<[GamesRecordModel]>>)? {
      if type == .offline{
         return Services.game_generalGameRecord(userId: userId.value, page: page)
      }else if type == .crossMatch{
         return Services.game_generalGameCrossRecord(userId: userId.value, page: page)
      }else{
         return Services.game_generalGameAccuracyRecord(userId: userId.value, page: page)
      }
   }
}
class GamesDataSourceSubListVC: BaseVC {
   private var type:GamesSubType!
   private var tableView:UITableView!
   private var tableView:BaseTableView!
   private var viewModel:GamesDataSourceViewModel!
   init(type:GamesSubType) {
      super.init(nibName: nil, bundle: nil)
      self.type = type
      self.viewModel = GamesDataSourceViewModel(type: type)
   }
   required init?(coder: NSCoder) {
@@ -25,10 +49,22 @@
   override func viewDidLoad() {
      super.viewDidLoad()
      tableView.jq_setEmptyView()
      viewModel.configure(tableView)
      Services.userDetails().subscribe(onNext: {[weak self] data in
         if let userId = data.data?.userId{
            self?.viewModel.userId.accept(userId)
            self?.viewModel.beginRefresh()
         }
      }) { error in
      }.disposed(by: disposeBag)
   }
   override func setUI() {
      tableView = UITableView(frame: .zero, style: .plain)
      tableView = BaseTableView(frame: .zero, style: .plain)
      tableView.delegate = self
      tableView.dataSource = self
      tableView.separatorStyle = .none
@@ -47,10 +83,19 @@
extension GamesDataSourceSubListVC:UITableViewDataSource{
   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
      let cell = tableView.dequeueReusableCell(withIdentifier: "_GamesDataSourceTCell") as! GamesDataSourceTCell
      if type == .offline{
         cell.label_gameName.text = viewModel.dataSource.value[indexPath.row].game_name
         cell.label_score.text = "\(viewModel.dataSource.value[indexPath.row].score)"
         cell.label_type.text = viewModel.dataSource.value[indexPath.row].time
      }
      return cell
   }
   func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
      return 5
      if type == .offline{
         return viewModel.dataSource.value.count
      }
      return 0
   }
}