From 945655d9f53293d7da9d2d11363b3230f6e53bbe Mon Sep 17 00:00:00 2001
From: younger_times <841720330@qq.com>
Date: 星期三, 26 四月 2023 18:17:28 +0800
Subject: [PATCH] API 接入

---
 BrokerDriver/Home/VC/HomePageVC.swift |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/BrokerDriver/Home/VC/HomePageVC.swift b/BrokerDriver/Home/VC/HomePageVC.swift
index 03517eb..5a072d3 100644
--- a/BrokerDriver/Home/VC/HomePageVC.swift
+++ b/BrokerDriver/Home/VC/HomePageVC.swift
@@ -11,12 +11,15 @@
 
 class HomePageVC: BaseViewController,Refreshable {
 
-    enum PageStyle {
-        case progress,complete
+    enum PageStyle:Int{
+        case progress = 1
+        case complete = 2
     }
 
     private var style:PageStyle!
     public let refreshStatus = BehaviorSubject(value: RefreshStatus.others)
+    private var page = 1
+    private var datas = [OrderModel]()
 
     lazy private var tableView:BaseTableView = {
         let tableView = BaseTableView(frame: .zero, style: .plain)
@@ -41,12 +44,36 @@
         super.viewDidLoad()
 
         self.refreshStatusBind(to: tableView, header: { [weak self] () in
-            self?.refreshStatus.onNext(.endHeaderRefresh)
+            self?.getData()
         }, footer: {  [weak self] () in
-
+            self?.getData(false)
         }).disposed(by: disposeBag)
+        tableView.jq_setEmptyView("Not data", image: UIImage(named: "empty"), foregroundColor: .gray, clouse: nil)
+        refreshStatus.onNext(.beingHeaderRefresh)
+    }
 
-//        refreshStatus.onNext(.beingHeaderRefresh)
+    private func getData(_ isHeader:Bool = true){
+        Services.getList(type: style, pageNumber: page).subscribe(onNext: { data in
+            if let models = data.data{
+                if isHeader{
+                    self.datas.removeAll()
+                    self.page = 1
+                    self.refreshStatus.onNext(.endHeaderRefresh)
+                    self.refreshStatus.onNext(.resetNoMoreData)
+                }else{
+                    if models.count == 0{
+                        self.refreshStatus.onNext(.noMoreData)
+                    }else{
+                        self.refreshStatus.onNext(.endFooterRefresh)
+                    }
+                }
+                self.datas.append(contentsOf: models)
+                self.tableView.reloadData()
+            }
+        }) { error in
+
+        }.disposed(by: disposeBag)
+
     }
 
     override func setUI() {
@@ -75,6 +102,6 @@
     }
 
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        return 10
+        return datas.count
     }
 }

--
Gitblit v1.7.1