ShoppingCartViewController.swift 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //
  2. // ShoppingCartViewController.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/3/7.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. // 购物车首页Vc
  8. import UIKit
  9. import RxSwift
  10. class ShoppingCartViewController: BaseViewController {
  11. var productSearchModelArray = Array<ProductSearchModel>()
  12. override func viewDidLoad() {
  13. super.viewDidLoad()
  14. setupViews()
  15. setupLayouts()
  16. let operationQueue = OperationQueue.main
  17. NotificationCenter.default.addObserver(forName: NSNotification.Name(rawValue: "ChartListToHomePage"), object: nil, queue: operationQueue) {
  18. [weak self] (notification) in
  19. self?.tabBarController?.selectedIndex = 0
  20. }
  21. }
  22. override func viewWillAppear(_ animated: Bool) {
  23. setupData()
  24. }
  25. deinit {
  26. NotificationCenter.default.removeObserver(self)
  27. }
  28. override func setupViews() {
  29. navigationBar.title = "购物车"
  30. }
  31. override func setupLayouts() {
  32. self.tabBarController?.selectedIndex = 0
  33. }
  34. override func setupData() {
  35. shoppingCartView.tableView.addHeaderWithHeader(withBeginRefresh: true, animation: false) { [weak self] (page) in
  36. self?.productCartListApi()
  37. self?.productSearchApi(page: page)
  38. }
  39. shoppingCartView.tableView.addFooterWithWithHeader(withAutomaticallyRefresh: true) { [weak self] (page) in
  40. self?.productSearchApi(page: page)
  41. }
  42. }
  43. /// 添加view
  44. func setShoppingCartView() {
  45. view.addSubview(shoppingCartView)
  46. shoppingCartView.snp.makeConstraints { (make) in
  47. make.bottom.left.right.equalToSuperview()
  48. make.top.equalTo(kNavBarTotalHeight)
  49. }
  50. }
  51. private lazy var shoppingCartView: ShoppingCartView = {
  52. let shoppingCartView = ShoppingCartView()
  53. return shoppingCartView
  54. }()
  55. /// 购物车列表
  56. func productCartListApi() {
  57. SwiftMoyaNetWorkServiceProduct.shared().productCartListApi { [weak self] (cartListData) -> (Void) in
  58. let cartListData = cartListData as? ProductCartListData
  59. self?.setShoppingCartView()
  60. self?.shoppingCartView.cartListModelArr = cartListData?.data
  61. }
  62. }
  63. /// 商品热销
  64. func productSearchApi(page:Int = 1) {
  65. SwiftMoyaNetWorkServiceProduct.shared().productSearchApi(page:page) {
  66. [weak self] (productSearchListModel) -> (Void) in
  67. let productSearchListModel = productSearchListModel as? ProductSearchListModel
  68. if productSearchListModel?.pagination?.currentPage ?? 1 <= productSearchListModel?.pagination?.totalPages ?? 1 {
  69. if productSearchListModel?.pagination?.currentPage == 1{
  70. self?.productSearchModelArray.removeAll()
  71. }
  72. self?.productSearchModelArray = (self?.productSearchModelArray)! + (productSearchListModel?.data!)!
  73. self?.shoppingCartView.hotSaleModelArr = self?.productSearchModelArray
  74. } else {
  75. self?.shoppingCartView.hotSaleModelArr = self?.productSearchModelArray
  76. }
  77. }
  78. }
  79. }