杨锴
2024-09-13 b1e53d01722f1705d99f5cf6ec63c8c493811405
XQMuse/Root/Course/VC/CourseDetialVC.swift
@@ -15,9 +15,12 @@
            case style2 //无视频
}
let CourseRefresh_Noti = Notification.Name.init("CourseRefresh_Noti")
class CourseDetialVC: BaseVC {
            private var tableView:UITableView?
            private let studyBtn = QMUIButton(type: .custom)
            private var headerView = CourseDetailHeaderView.jq_loadNibView()
            private var barStyle:UIStatusBarStyle = .lightContent
            private var scrollShowCell = false
@@ -77,27 +80,10 @@
                        fatalError("init(coder:) has not been implemented")
            }
            
    override func viewDidLoad() {
        super.viewDidLoad()
            override func viewDidLoad() {
                        super.viewDidLoad()
                        title = "课程详情"
                        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)
                        getData()
    }
            override func setUI() {
@@ -135,6 +121,31 @@
                        setFootView()
            }
            private func getData(){
                        Services.getCourseDetail(courseId: courseId).subscribe(onNext: {data in
                                    if let m = data.data{
                                                self.courseDetailModel = m
                                                self.headerView.setCourseModel(m)
                                                self.section1TCell.setItems(m)
                                                self.section2TCell.setItems(m.list2)
                                                if m.isBuy != .yes{
                                                            let attribute   = AttributedStringbuilder.build().add(string: "    疗愈币", withFont: .systemFont(ofSize: 12,weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).add(string: "\(m.generalPrice.jq_formatFloat)", withFont: .systemFont(ofSize: 21.71, weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).add(string: "  立即购买     ", withFont: .systemFont(ofSize: 16, weight: .bold), withColor: UIColor(hexString: "#F6F6F6")!).mutableAttributedString
                                                            self.studyBtn.setAttributedTitle(attribute, for: .normal)
                                                }
                                                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)
            }
            private func setFootView(){
                        let footView = UIView()
                        footView.backgroundColor = .white
@@ -158,7 +169,6 @@
                                    make.top.equalTo(26.5)
                        }
                        let studyBtn = QMUIButton(type: .custom)
                        studyBtn.setTitleColor(UIColor.white, for: .normal)
                        studyBtn.setTitle("    立即学习    ", for: .normal)
                        studyBtn.addTarget(self, action: #selector(handleAction(_:)), for: .touchUpInside)
@@ -187,11 +197,20 @@
                                                }
                                    }
                        }).disposed(by: disposeBag)
                        NotificationCenter.default.rx.notification(CourseRefresh_Noti).take(until: self.rx.deallocated).subscribe(onNext: {data in
                                    self.getData()
                        }).disposed(by: disposeBag)
            }
            @objc func handleAction(_ btn:QMUIButton){
                        if let items = courseDetailModel?.list{
                                    let vc = CourseDetialVideoVC(items: items, selectIndex: IndexPath(row: 0, section: 0))
                        if let m = courseDetailModel{
                                    if m.chargeType == .free || (m.chargeType == .vipFree && UserViewModel.getAvatarInfo().isVip == .yes) || (m.chargeType == .payment && m.isBuy == .yes){
                                                let vc = CourseDetialVideoVC(items: m.list, selectIndex: IndexPath(row: 0, section: 0))
                                                push(vc: vc);return
                                    }
                                    let vc = PaymentOrderVC(courseId: m.id)
                                    push(vc: vc)
                        }
            }
@@ -199,7 +218,7 @@
            @objc func sendGift(_ btn:QMUIButton){
                        if let price = courseDetailModel?.generalPrice{
                                    CourseSendGiftView.show(price:price) {
                                                let vc = PaymentOrderVC()
                                                let vc = PaymentOrderVC(courseId: self.courseDetailModel!.id,giftToOther: true)
                                                self.push(vc: vc)
                                    }
                        }