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/Course/VC/CourseDetialVC.swift |   87 +++++++++++++++++++++++++++++++------------
 1 files changed, 63 insertions(+), 24 deletions(-)

diff --git a/XQMuse/Root/Course/VC/CourseDetialVC.swift b/XQMuse/Root/Course/VC/CourseDetialVC.swift
index dd0d97e..4165914 100644
--- a/XQMuse/Root/Course/VC/CourseDetialVC.swift
+++ b/XQMuse/Root/Course/VC/CourseDetialVC.swift
@@ -24,6 +24,13 @@
 				private var currentShowIndex:IndexPath = IndexPath(row: 0, section: 0)
 				var isAnimationing = false
 				private var style:CourseDetialStyle = .style1
+				private var courseId:Int!
+				private var courseDetailModel:CourseModel?
+
+				private var section0TCell:CourseDetail_1_TCell!
+				private var section1TCell:CourseDetail_2_TCell!
+				private var section2TCell:CourseDetail_3_TCell!
+				private var section0Height:Double = 0
 
 				private(set) var pageMenu:SPPageMenu = {
 								let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line)
@@ -61,9 +68,9 @@
 								navigationController?.navigationBar.standardAppearance.backgroundColor = .clear
 				}
 
-				init(courseSytle:CourseDetialStyle) {
+				init(courseId:Int) {
 								super.init(nibName: nil, bundle: nil)
-								self.style = courseSytle
+								self.courseId = courseId
 				}
 				
 				required init?(coder: NSCoder) {
@@ -74,11 +81,23 @@
         super.viewDidLoad()
 								title = "课程详情"
 
-								if style == .style1{
-												pageMenu.setItems(["简介","章节","相关推荐"], selectedItemIndex: 0)
-								}else{
-												pageMenu.setItems(["简介"], selectedItemIndex: 0)
-								}
+								Services.getCourseDetail(courseId: courseId).subscribe(onNext: {data in
+												if let m = data.data{
+																self.courseDetailModel = m
+																self.headerView.setCourseModel(m)
+																self.section1TCell.setItems(m.list)
+																self.section2TCell.setItems(m.list2)
+
+																if m.detailUrl.jq_isVideo{
+																				self.style = .style1
+																				self.pageMenu.setItems(["简介","章节","相关推荐"], selectedItemIndex: 0)
+																}else{
+																				self.style = .style2
+																				self.pageMenu.setItems(["简介"], selectedItemIndex: 0)
+																}
+																self.tableView?.reloadData()
+												}
+								}).disposed(by: disposeBag)
     }
 
 				override func setUI() {
@@ -98,6 +117,10 @@
 								tableView!.register(UINib(nibName: "CourseDetail_1_TCell", bundle: nil), forCellReuseIdentifier: "_CourseDetail_1_TCell")
 								tableView!.register(UINib(nibName: "CourseDetail_2_TCell", bundle: nil), forCellReuseIdentifier: "_CourseDetail_2_TCell")
 								tableView!.register(UINib(nibName: "CourseDetail_3_TCell", bundle: nil), forCellReuseIdentifier: "_CourseDetail_3_TCell")
+
+								section0TCell = (tableView!.dequeueReusableCell(withIdentifier: "_CourseDetail_1_TCell") as! CourseDetail_1_TCell)
+								section1TCell = (tableView!.dequeueReusableCell(withIdentifier: "_CourseDetail_2_TCell") as! CourseDetail_2_TCell)
+								section2TCell = (tableView!.dequeueReusableCell(withIdentifier: "_CourseDetail_3_TCell") as! CourseDetail_3_TCell)
 
 								view.addSubview(tableView!)
 								tableView!.snp.makeConstraints { make in
@@ -150,14 +173,35 @@
 								}
 				}
 
-				@objc func handleAction(_ btn:QMUIButton){
+				override func setRx() {
+								section0TCell.webView.scrollView.rx.observe(CGSize.self, "contentSize").map { (size) -> CGFloat? in
+												if let size = size{
+																return size.height
+												}
+												return nil
+								}.subscribe(onNext: { [unowned self](height) in
+												if let height = height{
+																if height > section0Height{
+																				self.section0Height = height
+																				self.tableView?.reloadData()
+																}
+												}
+								}).disposed(by: disposeBag)
+				}
 
+				@objc func handleAction(_ btn:QMUIButton){
+								if let items = courseDetailModel?.list{
+												let vc = CourseDetialVideoVC(items: items, selectIndex: IndexPath(row: 0, section: 0))
+												push(vc: vc)
+								}
 				}
 
 				@objc func sendGift(_ btn:QMUIButton){
-								CourseSendGiftView.show {
-												let vc = PaymentOrderVC()
-												self.push(vc: vc)
+								if let price = courseDetailModel?.generalPrice{
+												CourseSendGiftView.show(price:price) {
+																let vc = PaymentOrderVC()
+																self.push(vc: vc)
+												}
 								}
 				}
 
@@ -182,30 +226,25 @@
 				}
 
 				func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
-								if indexPath.row == 0 || indexPath.row == 1{
-												return UITableView.automaticDimension
-								}
-								return 770.736
+								return UITableView.automaticDimension
 				}
 
 				func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
 
 								if indexPath.row == 0{
-												let cell = tableView.dequeueReusableCell(withIdentifier: "_CourseDetail_1_TCell") as! CourseDetail_1_TCell
-												cell.backgroundColor = UIColor(hexString: "#f6f6f6")
-												return cell
+												section0TCell.webView.loadHTMLString(courseDetailModel?.briefIntroduction.jq_wrapHtml() ?? "", baseURL: nil)
+												section0TCell.backgroundColor = UIColor(hexString: "#f6f6f6")
+												return section0TCell
 								}
 
 								if indexPath.row == 1{
-												let cell = tableView.dequeueReusableCell(withIdentifier: "_CourseDetail_2_TCell") as! CourseDetail_2_TCell
-												cell.backgroundColor = UIColor(hexString: "#f6f6f6")
-												return cell
+												section1TCell.backgroundColor = UIColor(hexString: "#f6f6f6")
+												return section1TCell
 								}
 
 								if indexPath.row == 2{
-												let cell = tableView.dequeueReusableCell(withIdentifier: "_CourseDetail_3_TCell") as! CourseDetail_3_TCell
-												cell.backgroundColor = UIColor(hexString: "#f6f6f6")
-												return cell
+												section2TCell.backgroundColor = UIColor(hexString: "#f6f6f6")
+												return section2TCell
 								}
 
 								var cell = tableView.dequeueReusableCell(withIdentifier: "cell")

--
Gitblit v1.7.1