//
|
// SearchVC.swift
|
// WanPai
|
//
|
// Created by 杨锴 on 2023/6/8.
|
//
|
|
import UIKit
|
import JQTools
|
|
class SearchVC: BaseVC {
|
@IBOutlet weak var scrollView: UIScrollView!
|
@IBOutlet weak var banner_collectionView: UICollectionView!
|
@IBOutlet weak var func_collectionView: UICollectionView!
|
@IBOutlet weak var user_avarImg: UIImageView!
|
@IBOutlet weak var label_userName: UILabel!
|
@IBOutlet weak var label_vip: UILabel!
|
@IBOutlet weak var img_vipMedal: UIImageView!
|
@IBOutlet weak var label_wpCoin: UILabel!
|
@IBOutlet weak var label_coin: UILabel!
|
var benefitHomeModel:BenefitHomeModel?
|
private var models = [StartClouseExploreModel]()
|
|
private var items = ["我的二维码","我的预约","社区世界杯","已报名活动","我的运动营","人员管理","我的券包","兑换记录","消费记录","积分明细","我的玩湃币"]
|
private var itemsImg = ["me_code","me_yard","me_wordCup","me_activity","me_camp","me_judge","me_coupons","me_withdrawRec","me_consume","me_coin","me_payCoin","me_judge"]
|
|
override func viewDidDisappear(_ animated: Bool) {
|
super.viewDidDisappear(animated)
|
}
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
scrollView.contentInsetAdjustmentBehavior = .never
|
|
Services.exploreHome().subscribe(onNext: {[weak self] data in
|
if let models = data.data,models.count > 0{
|
self?.models = models
|
self?.banner_collectionView.reloadData()
|
}else{
|
|
}
|
}).disposed(by: disposeBag)
|
}
|
|
override func viewDidAppear(_ animated: Bool) {
|
super.viewDidAppear(animated)
|
getData()
|
}
|
|
override func setUI() {
|
banner_collectionView.delegate = self
|
banner_collectionView.dataSource = self
|
banner_collectionView.register(UINib(nibName: "SearchBannerCCell", bundle: nil), forCellWithReuseIdentifier: "_SearchBannerCCell")
|
func_collectionView.delegate = self
|
func_collectionView.dataSource = self
|
func_collectionView.register(UINib(nibName: "FindItemCCell", bundle: nil), forCellWithReuseIdentifier: "_FindItemCCell")
|
func_collectionView.contentInset = UIEdgeInsets(top: 25, left: 0, bottom: 25, right: 0)
|
}
|
|
|
override func viewDidLayoutSubviews() {
|
super.viewDidLayoutSubviews()
|
}
|
|
private func getData(){
|
Services.benefitHome().subscribe(onNext: {[weak self] data in
|
if let model = data.data{
|
self?.benefitHomeModel = model
|
self?.user_avarImg.sd_setImage(with: URL(string: model.userHeadImg))
|
self?.label_userName.text = model.userName.isEmpty ? "未命名":model.userName
|
self?.label_vip.text = model.isMember
|
self?.label_wpCoin.text = model.wpCoin.currencyNotPrefix()
|
self?.label_coin.text = "\(model.userIntegral)"
|
|
if model.referee == 1{
|
self?.items.append("裁判入口")
|
self?.func_collectionView.reloadData()
|
}
|
}
|
}) { error in
|
|
}.disposed(by: disposeBag)
|
}
|
|
@IBAction func customerAction(_ sender: Any) {
|
let vc = CustomerListVC()
|
push(vc: vc)
|
}
|
|
@IBAction func wpCoinDetailAction(_ sender: Any) {
|
let vc = RechargeRecordVC(coin: benefitHomeModel?.wpCoin ?? 0,subtype: .coin)
|
push(vc: vc)
|
}
|
|
@IBAction func coinDetailAction(_ sender: Any) {
|
let vc = RechargeRecordVC(coin: benefitHomeModel?.userIntegral ?? 0,subtype: .integral)
|
push(vc: vc)
|
}
|
|
|
@IBAction func settingAction(_ sender: Any) {
|
let vc = ProfileVC()
|
push(vc: vc)
|
}
|
|
|
@IBAction func aboutMinProgram(_ sender: Any) {
|
|
CommonAlertView.show(title: "提示", content: "即将打开小程序,是否继续?") { status in
|
if status{
|
let miniProgam = WXLaunchMiniProgramReq.object()
|
miniProgam.userName = WeChatMinProgram
|
#if DEBUG
|
miniProgam.miniProgramType = .preview
|
#else
|
miniProgam.miniProgramType = .release
|
#endif
|
miniProgam.path = WeChatMinProgramPath
|
WXApi.send(miniProgam) { s in
|
if !s{
|
alert(msg: "打开失败")
|
}
|
}
|
}
|
}
|
}
|
|
override var preferredStatusBarStyle: UIStatusBarStyle{
|
return .lightContent
|
}
|
}
|
|
extension SearchVC:UICollectionViewDelegate{
|
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
|
if collectionView == func_collectionView{
|
switch items[indexPath.row]
|
{
|
case "我的二维码":
|
let vc = MeQRCodeVC()
|
push(vc: vc)
|
case "我的预约":
|
let vc = YardBookingListVC()
|
push(vc: vc)
|
case "社区世界杯":
|
let vc = WorldCupVC()
|
push(vc: vc)
|
case "已报名活动":
|
let vc = ActivitySignupListVC()
|
push(vc: vc)
|
case "我的运动营":
|
self.tabBarController?.selectedIndex = 1
|
case "人员管理":
|
let vc = StudentsManagerListVC()
|
push(vc: vc)
|
case "我的券包":
|
let vc = WelfareCouponsListVC()
|
push(vc: vc)
|
case "兑换记录":
|
let vc = WelfareExchangeRecordListVC()
|
push(vc: vc)
|
case "消费记录":
|
let vc = WelfareBillListVC()
|
push(vc: vc)
|
case "积分明细":
|
let vc = RechargeRecordVC(coin: benefitHomeModel?.userIntegral ?? 0,subtype: .integral)
|
push(vc: vc)
|
case "我的玩湃币":
|
let vc = RechargeRecordVC(coin: benefitHomeModel?.wpCoin ?? 0,subtype: .coin)
|
push(vc: vc)
|
case "裁判入口":
|
let vc = JudgeListVC()
|
push(vc: vc)
|
default:
|
break
|
}
|
|
|
}
|
|
if collectionView == banner_collectionView{
|
let model = models[indexPath.row]
|
let vc = SearchStoreDetailVC(id: model.storeId)
|
push(vc: vc)
|
}
|
}
|
}
|
|
extension SearchVC:UICollectionViewDataSource{
|
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
|
if collectionView == func_collectionView{
|
return items.count
|
}
|
return models.count
|
}
|
|
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
|
|
if collectionView == func_collectionView{
|
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_FindItemCCell", for: indexPath) as! FindItemCCell
|
cell.label_title.text = items[indexPath.row]
|
cell.img_avar.image = UIImage(named: itemsImg[indexPath.row])
|
return cell
|
}
|
|
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_SearchBannerCCell", for: indexPath) as! SearchBannerCCell
|
let model = models[indexPath.row]
|
cell.startClouseExploreItemModel = model
|
return cell
|
}
|
}
|
|
|
extension SearchVC:UICollectionViewDelegateFlowLayout{
|
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
|
|
if collectionView == func_collectionView{
|
return 0
|
}
|
return 0
|
}
|
|
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
|
if collectionView == func_collectionView{
|
return 0
|
}
|
return 0
|
}
|
|
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
|
if collectionView == func_collectionView{
|
return CGSize(width: JQ_ScreenW/4, height: 120)
|
}
|
return CGSize(width: JQ_ScreenW, height: JQ_ScreenW * 0.6541)
|
}
|
}
|