// // TSAIListHistoryBaseCell.swift // AIEmoji // // Created by 100Years on 2025/4/18. // class TSAIListHistoryBaseCell: TSBaseCollectionCell,TSSimpleConfigurableView { weak var delegate: (any TSSmalCoacopods.TSSimpleCollectionViewDelegate)? var indexPath: IndexPath = IndexPath(item: 0, section: 0) var data: Any? { didSet { // debugPrint("TSAIListHistoryBaseCell data didSet") if let dataModel = data as? TSActionInfoModel{ videoIconImageView.isHidden = true exampleView.isHidden = true if dataModel.modelType == .example { textLabel.text = "Example".localized exampleView.isHidden = false showImageView.image = UIImage(named: dataModel.response.resultUrl) }else{ if dataModel.isVideo { videoIconImageView.isHidden = false self.showImageView.image = UIImage(contentsOfFile: dataModel.videoThumbnailURL.path) }else { showImageView.setAsyncImage(urlString: dataModel.response.resultUrl,contentMode: .scaleAspectFill,backgroundColor: .white.withAlphaComponent(0.1)) } } } } } lazy var textLabel: UILabel = { let textLabel = UILabel.createLabel( text: "Example".localized, font: .font(size: 12), textColor: .white ) return textLabel }() lazy var exampleView: UIView = { let exampleView = UIView() exampleView.backgroundColor = "#232323".uiColor.withAlphaComponent(0.3) exampleView.addSubview(textLabel) textLabel.snp.makeConstraints { make in make.top.edges.equalTo(UIEdgeInsets(top: 4, left: 6, bottom: 4, right: 6)) } exampleView.isHidden = true exampleView.cornerRadius = 10.0 return exampleView }() lazy var showImageView: UIImageView = { let showImageView = UIImageView.createImageView(imageName:"",contentMode: .scaleAspectFill) showImageView.backgroundColor = .gray showImageView.layer.cornerRadius = 18 return showImageView }() lazy var videoIconImageView: UIImageView = { let videoIconImageView = UIImageView.createImageView(imageName:"video_icon",contentMode: .scaleToFill) videoIconImageView.isHidden = true return videoIconImageView }() override func creatUI() { // debugPrint("TSAIListHistoryBaseCell creatUI") contentView.addSubview(showImageView) showImageView.snp.makeConstraints { make in make.top.equalTo(0) make.leading.equalTo(0) make.trailing.bottom.equalTo(0) } contentView.addSubview(exampleView) exampleView.snp.makeConstraints { make in make.top.equalTo(8) make.leading.equalTo(8) make.height.equalTo(20) } contentView.addSubview(videoIconImageView) videoIconImageView.snp.makeConstraints { make in make.top.equalTo(8) make.leading.equalTo(8) make.width.height.equalTo(24) } } }