|
|
|
//
|
|
|
|
// MineViewController.swift
|
|
|
|
// FireBoltt
|
|
|
|
//
|
|
|
|
// Created by lemo. on 2020/3/7.
|
|
|
|
// Copyright © 2020 Sheldon. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
import UIKit
|
|
|
|
|
|
|
|
fileprivate enum Resuable {
|
|
|
|
static let tableViewCell = ReusableCell<CommonTableViewCell>(nibName: "CommonTableViewCell")
|
|
|
|
}
|
|
|
|
|
|
|
|
class MineViewController: TableViewController {
|
|
|
|
|
|
|
|
lazy var headerView: MineHeaderView = {
|
|
|
|
let view = MineHeaderView(frame: CGRect(x: 0, y: 0, width: kScreenW, height: kScaleWidth(180)+10))
|
|
|
|
view.bgView.addTarget(self, action: #selector(pusInfo), for: .touchUpInside)
|
|
|
|
return view
|
|
|
|
}()
|
|
|
|
|
|
|
|
override func viewDidLoad() {
|
|
|
|
super.viewDidLoad()
|
|
|
|
}
|
|
|
|
|
|
|
|
override func makeUI() {
|
|
|
|
super.makeUI()
|
|
|
|
isTitleCenter = true
|
|
|
|
navigationTitle = MultiLanguageKey_FB.mineFB.localized
|
|
|
|
if #available(iOS 13.0, *) {
|
|
|
|
tableViewStyle = .insetGrouped
|
|
|
|
} else {
|
|
|
|
// Fallback on earlier versions
|
|
|
|
tableViewStyle = .grouped
|
|
|
|
}
|
|
|
|
tableView.backgroundColor = kHexColor(0xFAFAFA)
|
|
|
|
tableView.rowHeight = kScaleWidth(52)
|
|
|
|
tableView.separatorStyle = UITableViewCell.SeparatorStyle.singleLine
|
|
|
|
tableView.register(Resuable.tableViewCell)
|
|
|
|
var top = kBatteryH;
|
|
|
|
|
|
|
|
if #available(iOS 15.0, *) {
|
|
|
|
top+=22
|
|
|
|
}
|
|
|
|
|
|
|
|
tableView.contentInset = UIEdgeInsets(top: -top, left: 0, bottom: 0, right: 0)
|
|
|
|
view.bringSubviewToFront(tableView)
|
|
|
|
// 头视图
|
|
|
|
tableView.tableHeaderView = headerView
|
|
|
|
tableView.isScrollEnabled = false
|
|
|
|
// headerView.rx.tap
|
|
|
|
// .subscribe(onNext: { [weak self] _ in
|
|
|
|
// guard let `self` = self else { return }
|
|
|
|
// let vm = UserInfoViewModel()
|
|
|
|
// self.navigator.show(segue: .userInfo(viewModel: vm), sender: self)
|
|
|
|
// })
|
|
|
|
// .disposed(by: rx.disposeBag)
|
|
|
|
layoutUI()
|
|
|
|
}
|
|
|
|
|
|
|
|
@objc func pusInfo(){
|
|
|
|
let vm = UserInfoViewModel()
|
|
|
|
self.navigator.show(segue: .userInfo(viewModel: vm), sender: self)
|
|
|
|
}
|
|
|
|
|
|
|
|
func layoutUI() {
|
|
|
|
tableView.snp.makeConstraints { (make) in
|
|
|
|
make.edges.equalToSuperview()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
override func bindViewModel() {
|
|
|
|
super.bindViewModel()
|
|
|
|
guard let viewModel = viewModel as? MineViewModel else { return }
|
|
|
|
let dataSource = RxTableViewSectionedReloadDataSource
|
|
|
|
<SectionModel<String, TableViewCellModel>>(configureCell: {
|
|
|
|
(dataSource, tv, indexPath, element) in
|
|
|
|
let cell = tv.dequeue(Resuable.tableViewCell, for: indexPath)
|
|
|
|
cell.bindViewModel(model: element)
|
|
|
|
return cell
|
|
|
|
})
|
|
|
|
viewModel.relay
|
|
|
|
.bind(to: tableView.rx.items(dataSource: dataSource))
|
|
|
|
.disposed(by: rx.disposeBag)
|
|
|
|
viewModel.userIcon
|
|
|
|
.bind(to: headerView.userIconImg.rx.image())
|
|
|
|
.disposed(by: rx.disposeBag)
|
|
|
|
viewModel.userNickname
|
|
|
|
.bind(to: headerView.userNameLabel.rx.text)
|
|
|
|
.disposed(by: rx.disposeBag)
|
|
|
|
tableView.rx.modelSelected(TableViewCellModel.self)
|
|
|
|
.subscribe(onNext: { [weak self] (cellVM) in
|
|
|
|
guard let type = cellVM.mineSetType else { return }
|
|
|
|
switch type {
|
|
|
|
case .unitSet:
|
|
|
|
self?.navigator.show(segue: .unitSet, sender: self)
|
|
|
|
case .targetSet:
|
|
|
|
let vm = TargetVM()
|
|
|
|
self?.navigator.show(segue: .target(viewModel: vm), sender: self)
|
|
|
|
case .about:
|
|
|
|
self?.navigator.show(segue: .about, sender: self)
|
|
|
|
case .privacy:
|
|
|
|
print("隐私政策")
|
|
|
|
let vc = commWebViewController()
|
|
|
|
vc.view.backgroundColor = UIColor.white;
|
|
|
|
vc.navTitle = MultiLanguageKey_FB.privacyFB.localized
|
|
|
|
vc.url = "http://wx.ecellsz.com/mp/iosPrivacy.html"
|
|
|
|
vc.hidesBottomBarWhenPushed = true;
|
|
|
|
self?.navigationController!.pushViewController(vc, animated: true)
|
|
|
|
case .service:
|
|
|
|
print("用户协议")
|
|
|
|
let vc = commWebViewController()
|
|
|
|
vc.view.backgroundColor = UIColor.white;
|
|
|
|
vc.navTitle = MultiLanguageKey_FB.serviceFB.localized
|
|
|
|
vc.url = "http://wx.ecellsz.com/mp/appAgreement.html"
|
|
|
|
vc.hidesBottomBarWhenPushed = true;
|
|
|
|
self?.navigationController!.pushViewController(vc, animated: true)
|
|
|
|
case .disclaimerFB:
|
|
|
|
print("免责声明")
|
|
|
|
let vc = commWebViewController()
|
|
|
|
vc.view.backgroundColor = UIColor.white;
|
|
|
|
vc.navTitle = MultiLanguageKey_FB.disclaimerFB.localized
|
|
|
|
vc.url = MultiLanguageKey_FB.disclaimerFB.localized
|
|
|
|
vc.hidesBottomBarWhenPushed = true;
|
|
|
|
self?.navigationController!.pushViewController(vc, animated: true)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.disposed(by: rx.disposeBag)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|