From e15c976316feef72ff9bcabce38e0a078f9505db Mon Sep 17 00:00:00 2001
From: 杨锴 <841720330@qq.com>
Date: 星期四, 12 九月 2024 18:18:03 +0800
Subject: [PATCH] fix API

---
 XQMuse/Root/Pavilion/PavilionVC.swift |   48 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 36 insertions(+), 12 deletions(-)

diff --git a/XQMuse/Root/Pavilion/PavilionVC.swift b/XQMuse/Root/Pavilion/PavilionVC.swift
index a326dd1..e10327f 100644
--- a/XQMuse/Root/Pavilion/PavilionVC.swift
+++ b/XQMuse/Root/Pavilion/PavilionVC.swift
@@ -7,14 +7,37 @@
 
 import UIKit
 import JQTools
+import RxSwift
+import RxRelay
+import CoreLocation
+
+class PavilionViewModel:RefreshInnerModel<PavilionDetailModel>{
+				var location = BehaviorRelay<CLLocationCoordinate2D?>(value: nil)
+				var search = BehaviorRelay<String?>(value: nil)
+
+				override func api() -> (Observable<BaseResponse<BaseResponseList<PavilionDetailModel>>>)? {
+								return Services.getPavlilonPage(location: location.value, search: search.value, page: page)
+				}
+}
 
 class PavilionVC: BaseVC {
 				@IBOutlet weak var collectionView: UICollectionView!
-				
-    override func viewDidLoad() {
-        super.viewDidLoad()
 
-    }
+				private var viewModel = PavilionViewModel()
+				private var locationTool = JQ_LocationTool.instance()
+
+				override func viewDidLoad() {
+								super.viewDidLoad()
+
+								viewModel.configure(collectionView)
+								viewModel.beginRefresh()
+
+								locationTool.startLocation { location in
+												self.viewModel.location.accept(location.coordinate)
+												self.viewModel.beginRefresh()
+								} errorClouse: { error in
+								}
+				}
 
 				override func setUI() {
 								super.setUI()
@@ -24,38 +47,39 @@
 								collectionView.backgroundColor = .clear
 								collectionView.showsVerticalScrollIndicator = false
 								collectionView.backgroundColor = .clear
-								collectionView.contentInset = UIEdgeInsets(top: 52.5, left: 28.5, bottom: 0, right: 28.5)
+								collectionView.contentInset = UIEdgeInsets(top: 0, left: 28.5, bottom: 0, right: 28.5)
 								collectionView.register(UINib(nibName: "PavilionItemCell", bundle: nil), forCellWithReuseIdentifier: "_PavilionItemCell")
 				}
 
 
 				@IBAction func searchAction(_ sender: Any) {
 								let searchVC = PavilionSearchVC()
+								searchVC.viewModel = viewModel
 								push(vc: searchVC)
 				}
-				
+
 }
 
 extension PavilionVC:UICollectionViewDelegate{
 				func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
-								let detailVC = PavilionDetailVC()
+								let model = viewModel.dataSource.value!.list[indexPath.row]
+								let detailVC = PavilionDetailVC(id: model.id)
 								push(vc: detailVC)
 				}
 }
 
 extension PavilionVC:UICollectionViewDataSource{
 				func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
-
-								 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_PavilionItemCell", for: indexPath) as! PavilionItemCell
+								let model = viewModel.dataSource.value!.list[indexPath.row]
+								let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_PavilionItemCell", for: indexPath) as! PavilionItemCell
 								cell.backgroundColor = .jq_randomColor
 								cell.jq_cornerRadius = 16
+								cell.setPavilionDetailModel(model)
 								return cell
-
 				}
-				
 
 				func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
-								return 10
+								return viewModel.dataSource.value?.list.count ?? 0
 				}
 }
 

--
Gitblit v1.7.1