//
|
// HomeRelaxBanner_2_CCell.swift
|
// XQMuse
|
//
|
// Created by 无故事王国 on 2024/8/14.
|
//
|
|
import UIKit
|
import JQTools
|
|
class HomeRelaxBanner_2_CCell: UICollectionViewCell {
|
|
@IBOutlet weak var view_text_bg: UIView!
|
@IBOutlet weak var img_tipPeople: UIImageView!
|
@IBOutlet weak var img_vip: UIImageView!
|
@IBOutlet weak var img_cover: UIImageView!
|
@IBOutlet weak var label_title: UILabel!
|
@IBOutlet weak var label_subTitle: UILabel!
|
@IBOutlet weak var label_num: UILabel!
|
@IBOutlet weak var cons_maxSubTitle: NSLayoutConstraint!
|
@IBOutlet weak var view_price: UIView!
|
@IBOutlet weak var label_price: UILabel!
|
@IBOutlet weak var image_free: UIImageView!
|
@IBOutlet weak var img_offline: UIImageView!
|
|
@IBOutlet weak var cons_title_top: NSLayoutConstraint!
|
|
@IBOutlet weak var cons_title_left: NSLayoutConstraint!
|
|
private var meditationModel:MeditationModel?
|
private var showType: DisplayType!
|
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
// Initialization code
|
|
jq_cornerRadius = 15
|
|
let blurEffect = UIBlurEffect(style: .light)
|
let visualEffectView = UIVisualEffectView(effect: blurEffect)
|
view_text_bg.addSubview(visualEffectView)
|
visualEffectView.snp.makeConstraints { make in
|
make.edges.equalToSuperview()
|
}
|
visualEffectView.alpha = 0.7
|
view_text_bg.sendSubviewToBack(visualEffectView)
|
visualEffectView.layer.masksToBounds = true
|
|
view_price.jq_cornerRadius = 12.55
|
}
|
|
func setMeditationModel(_ model:MeditationModel,showType:DisplayType){
|
|
var imageUrl:String!
|
switch showType {
|
case .horizontal:
|
imageUrl = model.coverUrl.components(separatedBy: ",").first?.jq_urlEncoded()
|
case .vertical:
|
imageUrl = model.coverUrl.components(separatedBy: ",").last?.jq_urlEncoded()
|
}
|
|
img_cover.sd_setImage(with: URL(string: imageUrl))
|
label_title.text = model.meditationTitle
|
label_subTitle.text = model.coverDescription
|
label_num.text = "\(model.realLearnedNum)"
|
img_offline.isHidden = true
|
|
setChargePrice(model.chargeType, price: model.iosPrice)
|
}
|
|
func setCourseModel(_ model:CourseModel){
|
img_cover.sd_setImage(with: URL(string: model.coverUrl.jq_urlEncoded().components(separatedBy: ",").last))
|
label_title.text = model.courseTitle
|
label_subTitle.text = model.briefIntroduction.jq_filterFromHTML_1()
|
label_num.text = "\(model.count)"
|
img_vip.isHidden = model.isVip != .yes
|
|
if model.courseType == .online{
|
img_offline.isHidden = true
|
setChargePrice(model.chargeType, price: model.iosPrice)
|
}else{
|
img_offline.isHidden = false
|
img_vip.isHidden = true
|
view_price.isHidden = true
|
image_free.isHidden = true
|
}
|
}
|
|
private func setChargePrice(_ type:ChargeType,price:Double){
|
|
image_free.isHidden = type != .free
|
img_vip.isHidden = type != .vipFree
|
view_price.isHidden = type != .payment
|
|
switch type {
|
case .payment:
|
label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: UIFont(name: "DIN-Bold", size: 7.11) ?? UIFont.systemFont(ofSize: 7, weight: .bold), withColor: .white).add(string: "\(price.jq_formatFloat)", withFont: UIFont(name: "DIN-Bold", size: 11) ?? .systemFont(ofSize: 11,weight: .bold), withColor: .white).mutableAttributedString
|
default:break
|
}
|
}
|
}
|