杨锴
2024-09-12 e15c976316feef72ff9bcabce38e0a078f9505db
XQMuse/Root/Course/VC/CourseVCOfficalCommentVC.swift
@@ -7,12 +7,23 @@
import UIKit
import JQTools
import RxRelay
import RxSwift
class CourseVCOfficalViewModel:RefreshInnerModel<CourseModel>{
            var cateId = BehaviorRelay<Int?>(value: nil)
            override func api() -> (Observable<BaseResponse<BaseResponseList<CourseModel>>>)? {
                        return Services.getCoursePageList(page: page)
            }
}
class CourseVCOfficalCommentVC: BaseVC {
            private var collectionView:UICollectionView!
            private var titleItems = [TitleItem]()
            private var subTitleItems = [TitleItem]()
            private var bannerModels = [CommonBannerModel]()
            private var viewModel = CourseVCOfficalViewModel()
            override func viewDidLoad() {
                        super.viewDidLoad()
@@ -20,14 +31,22 @@
                        titleItems.append(TitleItem(title: "新手冥想指南", subTitle: "Meditation guide"))
                        titleItems.append(TitleItem(title: "推荐课程", subTitle: "与内心的宁静与喜悦入睡"))
                        subTitleItems.append(TitleItem(title: "会员专区",coverImage: "course_1"))
                        subTitleItems.append(TitleItem(title: "免费专区",coverImage: "course_2"))
                        subTitleItems.append(TitleItem(title: "付费专区",coverImage: "course_3"))
                        subTitleItems.append(TitleItem(title: "线下课程",coverImage: "course_4"))
                        subTitleItems.append(TitleItem(title: "疗愈",coverImage: "course_5"))
                        subTitleItems.append(TitleItem(title: "关系",coverImage: "course_6"))
                        subTitleItems.append(TitleItem(title: "财富",coverImage: "course_7"))
                        subTitleItems.append(TitleItem(title: "分类",coverImage: "course_8"))
                        Services.getCourseCategory().subscribe(onNext: {data in
                                    for v in data.data ?? []{
                                                self.subTitleItems.append(TitleItem(id:v.id,title: v.name,coverImage: v.imageUrl))
                                    }
                                    self.collectionView.reloadData()
                        }).disposed(by: disposeBag)
                        Services.getCourseBannerList().subscribe(onNext: {data in
                                    for (index,v) in (data.data ?? []).enumerated(){
                                                self.bannerModels.append(CommonBannerModel(index: index, id: v.id, name: v.name, resource:v.imageUrl, mediaType: .imageUrl))
                                    }
                                    self.collectionView.reloadData()
                        }).disposed(by: disposeBag)
                        viewModel.configure(collectionView)
                        viewModel.beginRefresh()
            }
@@ -57,7 +76,8 @@
extension CourseVCOfficalCommentVC:UICollectionViewDelegate & UICollectionViewDataSource{
            func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
                        let vc = CourseDetialVC(courseSytle: .style1)
                        let model = viewModel.dataSource.value!.list[indexPath.row]
                        let vc = CourseDetialVC(courseId: model.id)
                        JQ_currentViewController().jq_push(vc: vc)
            }
@@ -67,6 +87,7 @@
                                    let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "header", for: indexPath) as! HomeHeaderView_1
                                    let m = titleItems[indexPath.section]
                                    headerView.setTitle(m.title, subTitle: m.subTitle)
                                    headerView.btn_more.isHidden = true
                                    return headerView
                        }
                        return UICollectionReusableView()
@@ -77,16 +98,19 @@
                        if indexPath.section == 0{
                                    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_CourseOfficalCommendTopCCell", for: indexPath) as! CourseOfficalCommendTopCCell
                                    cell.setTitles(subTitleItems)
                                    cell.setBanners(bannerModels)
                                    cell.clickAtClouse { index in
                                                let vc = CourseMenuVC()
                                                vc.setTitleItem(self.subTitleItems,defaultSelectIndex: index)
                                                vc.hidesBottomBarWhenPushed = true
                                                JQ_currentNavigationController().pushViewController(vc, animated: true)
                                    }
                                    return cell
                        }
                        let model = viewModel.dataSource.value!.list[indexPath.row]
                        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_HomeRelaxBanner_2_CCell", for: indexPath) as! HomeRelaxBanner_2_CCell
                        cell.backgroundColor = .jq_randomColor
                        cell.setCourseModel(model)
                        return cell
            }
@@ -94,7 +118,7 @@
                        if section == 0{
                                    return 1
                        }
                        return 20
                        return viewModel.dataSource.value?.list.count ?? 0
            }
            func numberOfSections(in collectionView: UICollectionView) -> Int {