| | |
| | | |
| | | @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) { |
| | |
| | | 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() { |
| | |
| | | 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) |
| | |
| | | } |
| | | } |
| | | |
| | | 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 |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | extension SearchContentVC:UICollectionViewDelegate & UICollectionViewDataSource{ |
| | | |
| | | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { |
| | | let m = viewModel.dataSource.value!.list[indexPath.row] |
| | | let vc = CourseDetialVC(courseId: m.id) |
| | | JQ_currentViewController().jq_push(vc: vc) |
| | | |
| | | 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 |
| | | cell.setMeditationModel(m) |
| | | |
| | | let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_HomeRelaxBanner_2_CCell", for: indexPath) as! HomeRelaxBanner_2_CCell |
| | | |
| | | 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 |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | 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 |
| | | } |
| | | } |