// // RQPlaceVideoListCell.m // JiaPei // // Created by 张嵘 on 2023/4/18. // #import "RQPlaceVideoListCell.h" @interface RQPlaceVideoListCell () @property (nonatomic, readwrite, strong) RQPlaceVideoListItemViewModel *viewModel; @property (weak, nonatomic) IBOutlet UIImageView *myPlaceImageVIew; @property (weak, nonatomic) IBOutlet UILabel *myPlaceLabel; @property (weak, nonatomic) IBOutlet UIImageView *vipImg; @end @implementation RQPlaceVideoListCell #pragma mark - PublicMethods + (instancetype)cellWithTableView:(UITableView *)tableView { static NSString *ID = @"RQPlaceVideoListCell"; RQPlaceVideoListCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; if (!cell) { cell = [self rq_viewFromXib]; cell.selectionStyle = UITableViewCellSelectionStyleNone; } return cell; } - (void)bindViewModel:(RQPlaceVideoListItemViewModel *)viewModel { @weakify(self) _viewModel = viewModel; NSString *cityStr = viewModel.placeVideoListModel.city; NSString *nameStr = viewModel.placeVideoListModel.videoName; if (RQStringIsNotEmpty(cityStr) && RQStringIsNotEmpty(nameStr)) { self.myPlaceLabel.text = [NSString stringWithFormat:@"%@ | %@",cityStr, nameStr]; } else { if (RQStringIsNotEmpty(cityStr)) { self.myPlaceLabel.text = [NSString stringWithFormat:@"%@",cityStr]; } else if (RQStringIsNotEmpty(nameStr)) { self.myPlaceLabel.text = [NSString stringWithFormat:@"%@", nameStr]; } else { self.myPlaceLabel.text = @""; } } [self.myPlaceImageVIew yy_setImageWithURL:[NSURL URLWithString:viewModel.placeVideoListModel.videoCover] placeholder:[UIImage imageNamed:@"考场视频占位图"] options:RQWebImageOptionAutomatic completion:nil]; [[[RACObserve(viewModel.placeVideoListModel, permission) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal] subscribeNext:^(id _Nullable x) { @strongify(self) self.vipImg.hidden = NO; if ([viewModel.placeVideoListModel.permission isEqualToString:@"0"]) { self.vipImg.image = RQImageNamed(@"考场免费"); } else if ([viewModel.placeVideoListModel.permission isEqualToString:@"1"]) { self.vipImg.image = RQImageNamed(@"考场试看"); } else if ([viewModel.placeVideoListModel.permission isEqualToString:@"2"]) { self.vipImg.image = RQImageNamed(@"考场VIP"); } else { self.vipImg.hidden = YES; } if (viewModel.placeVideoListModel.placeListModel.isCheckVip) { self.vipImg.hidden = YES; } }]; } #pragma mark - SystemMethods - (void)awakeFromNib { [super awakeFromNib]; } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end