RQPlaceVideoListCell.m 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //
  2. // RQPlaceVideoListCell.m
  3. // JiaPei
  4. //
  5. // Created by 张嵘 on 2023/4/18.
  6. //
  7. #import "RQPlaceVideoListCell.h"
  8. @interface RQPlaceVideoListCell ()
  9. @property (nonatomic, readwrite, strong) RQPlaceVideoListItemViewModel *viewModel;
  10. @property (weak, nonatomic) IBOutlet UIImageView *myPlaceImageVIew;
  11. @property (weak, nonatomic) IBOutlet UILabel *myPlaceLabel;
  12. @property (weak, nonatomic) IBOutlet UIImageView *vipImg;
  13. @end
  14. @implementation RQPlaceVideoListCell
  15. #pragma mark - PublicMethods
  16. + (instancetype)cellWithTableView:(UITableView *)tableView {
  17. static NSString *ID = @"RQPlaceVideoListCell";
  18. RQPlaceVideoListCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
  19. if (!cell) {
  20. cell = [self rq_viewFromXib];
  21. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  22. }
  23. return cell;
  24. }
  25. - (void)bindViewModel:(RQPlaceVideoListItemViewModel *)viewModel {
  26. @weakify(self)
  27. _viewModel = viewModel;
  28. NSString *cityStr = viewModel.placeVideoListModel.city;
  29. NSString *nameStr = viewModel.placeVideoListModel.videoName;
  30. if (RQStringIsNotEmpty(cityStr) && RQStringIsNotEmpty(nameStr)) {
  31. self.myPlaceLabel.text = [NSString stringWithFormat:@"%@ | %@",cityStr, nameStr];
  32. } else {
  33. if (RQStringIsNotEmpty(cityStr)) {
  34. self.myPlaceLabel.text = [NSString stringWithFormat:@"%@",cityStr];
  35. } else if (RQStringIsNotEmpty(nameStr)) {
  36. self.myPlaceLabel.text = [NSString stringWithFormat:@"%@", nameStr];
  37. } else {
  38. self.myPlaceLabel.text = @"";
  39. }
  40. }
  41. [self.myPlaceImageVIew yy_setImageWithURL:[NSURL URLWithString:viewModel.placeVideoListModel.videoCover] placeholder:[UIImage imageNamed:@"考场视频占位图"] options:RQWebImageOptionAutomatic completion:nil];
  42. [[[RACObserve(viewModel.placeVideoListModel, permission) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal] subscribeNext:^(id _Nullable x) {
  43. @strongify(self)
  44. self.vipImg.hidden = NO;
  45. if ([viewModel.placeVideoListModel.permission isEqualToString:@"0"]) {
  46. self.vipImg.image = RQImageNamed(@"考场免费");
  47. } else if ([viewModel.placeVideoListModel.permission isEqualToString:@"1"]) {
  48. self.vipImg.image = RQImageNamed(@"考场试看");
  49. } else if ([viewModel.placeVideoListModel.permission isEqualToString:@"2"]) {
  50. self.vipImg.image = RQImageNamed(@"考场VIP");
  51. } else {
  52. self.vipImg.hidden = YES;
  53. }
  54. if (viewModel.placeVideoListModel.placeListModel.isCheckVip) {
  55. self.vipImg.hidden = YES;
  56. }
  57. }];
  58. }
  59. #pragma mark - SystemMethods
  60. - (void)awakeFromNib {
  61. [super awakeFromNib];
  62. }
  63. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  64. [super setSelected:selected animated:animated];
  65. // Configure the view for the selected state
  66. }
  67. @end