杨锴
2024-10-24 e821bea13d9f20905bba3972c4e9c4964994db5d
XQMuse/Root/Home/VC/SearchContentVC.swift
@@ -24,11 +24,23 @@
            @IBOutlet weak var tf_search: UITextField!
            @IBOutlet weak var collectionView: UICollectionView!
            private var viewModel = SearchContentViewModel()
    private var museViewModel:SearchContentViewModel?
    private var courseViewModel:CourseVCOfficalViewModel?
    private var serchType:SearchVC.SearchType!
            init(content:String) {
    init(content:String,type:SearchVC.SearchType) {
                        super.init(nibName: nil, bundle: nil)
                        self.viewModel.search.accept(content)
        self.serchType = type
        if type == .course{
            courseViewModel = CourseVCOfficalViewModel()
            courseViewModel?.search.accept(content)
        }
        if type == .muse{
            museViewModel = SearchContentViewModel()
            museViewModel?.search.accept(content)
        }
            }
            
            required init?(coder: NSCoder) {
@@ -39,7 +51,11 @@
        super.viewDidLoad()
                        title = "心泉·疗愈"
                        tf_search.text = viewModel.search.value
        switch serchType{
            case .course:tf_search.text = courseViewModel?.search.value ?? ""
            case .muse:tf_search.text = museViewModel?.search.value ?? ""
            default:break
        }
    }
            override func setUI() {
@@ -54,7 +70,12 @@
                        collectionView.register(UINib(nibName: "HomeRelaxBanner_2_CCell", bundle: nil), forCellWithReuseIdentifier: "_HomeRelaxBanner_2_CCell")
                        collectionView.emptyDataSetView {[unowned self] v in
            guard v.viewWithTag(1301) == nil else {return}
                                    let emptyImageView = UIImageView(image: UIImage(named: "bg_empty"))
            emptyImageView.tag = 1301
                                    v.addSubview(emptyImageView)
                                    emptyImageView.snp.makeConstraints { make in
                                                make.top.equalTo(56.5)
@@ -71,8 +92,15 @@
                                    }
                        }
                        viewModel.configure(collectionView)
                        viewModel.beginRefresh()
        switch serchType{
            case .course:
                self.courseViewModel?.configure(collectionView)
                self.courseViewModel?.beginRefresh()
            case .muse:
                self.museViewModel?.configure(collectionView)
                self.museViewModel?.beginRefresh()
            default:break
        }
            }
@@ -83,8 +111,15 @@
                                    alert(msg: "请输入搜索内容");return
                        }
                        viewModel.search.accept(tf_search.text!)
                        viewModel.beginRefresh()
        switch serchType{
            case .course:
                self.courseViewModel?.search.accept(tf_search.text!)
                self.courseViewModel?.beginRefresh()
            case .muse:
                self.museViewModel?.search.accept(tf_search.text!)
                self.museViewModel?.beginRefresh()
            default:break
        }
            }
}
@@ -92,21 +127,46 @@
extension SearchContentVC:UICollectionViewDelegate & UICollectionViewDataSource{
            func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
                        let m = viewModel.dataSource.value!.list[indexPath.row]
        switch serchType{
            case .course:
                let m = courseViewModel!.dataSource.value!.list[indexPath.row]
                        let vc = CourseDetialVC(courseId: m.id)
                        JQ_currentViewController().jq_push(vc: vc)
            case .muse:
                let m = museViewModel!.dataSource.value!.list[indexPath.row]
                let vc = HomeItemDetailVC(id: m.id)
                JQ_currentViewController().jq_push(vc: vc)
            default:break
        }
            }
            func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
                        let m = viewModel.dataSource.value!.list[indexPath.row]
                        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_HomeRelaxBanner_2_CCell", for: indexPath) as! HomeRelaxBanner_2_CCell
                        cell.backgroundColor = .jq_randomColor
        switch serchType{
            case .course:break
            case .muse:
                let m = museViewModel!.dataSource.value!.list[indexPath.row]
                        cell.setMeditationModel(m)
            default:break
        }
                        return cell
            }
            func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
                        return viewModel.dataSource.value?.list.count ?? 0
        switch serchType{
            case .course:
                return courseViewModel!.dataSource.value?.list.count ?? 0
            case .muse:
                return museViewModel!.dataSource.value?.list.count ?? 0
            default:return 0
        }
            }
}
@@ -136,9 +196,15 @@
                                    alert(msg: "请输入搜索内容")
                                    return true
                        }
                        viewModel.search.accept(textField.text!)
                        viewModel.beginRefresh()
        switch serchType{
            case .course:
                self.courseViewModel?.search.accept(tf_search.text!)
                self.courseViewModel?.beginRefresh()
            case .muse:
                self.museViewModel?.search.accept(tf_search.text!)
                self.museViewModel?.beginRefresh()
            default:break
        }
                        return true
            }
}