// // GoodsReviewsCell.m // westkissMob // // Created by 王猛 on 2022/9/28. // #import "GoodsReviewsCell.h" #import "GoodsReviewsImgV.h" #import "ASGoodsDetailsVM.h" #import "HCSStarRatingView.h" @interface GoodsReviewsCell () @property (nonatomic, strong) UIImageView *headImg; @property (nonatomic, strong) UILabel *headNameLab; @property (nonatomic, strong) UILabel *nicknameLab; @property (nonatomic, strong) UILabel *creatLab; @property (nonatomic, strong) UIButton *zanBtn; @property (nonatomic, strong) HCSStarRatingView *reviews_startV; @property (nonatomic, strong) UILabel *sizeTitleLab; @property (nonatomic, strong) UILabel *detailLab; @property(nonatomic, strong) GoodsReviewsImgV *reviewsImgV; @end @implementation GoodsReviewsCell - (void)awakeFromNib { [super awakeFromNib]; // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } - (void)configData:(id)Data{ GoodsReviewsListM *model = (GoodsReviewsListM *)Data; self.reviewM = model; // self.headImg.image = UIImageDefaultImg_SD; self.headNameLab.text = [[model.nickname substringToIndex:1] uppercaseString]; self.nicknameLab.text = model.nickname; self.creatLab.text = model.created_at; self.sizeTitleLab.text = model.title; self.detailLab.text = model.detail; ///wm_todo 点赞本地记录的表 // self.zanBtn.selected = [model.thumbsUp integerValue]; self.reviews_startV.value =[model.review_value floatValue] ; [self.zanBtn setTitle:model.zan forState:UIControlStateNormal]; if(!isValid(model.image_video) || model.image_video.count == 0 ){ [self.reviewsImgV mas_updateConstraints:^(MASConstraintMaker *make) { make.height.mas_equalTo(10); }]; }else{ [self.reviewsImgV mas_updateConstraints:^(MASConstraintMaker *make) { make.height.mas_equalTo(GoodsReviewsimgWidth + 20); }]; } [self.reviewsImgV tt_confignewdata:model.image_video]; } - (void)setupSubviewS{ [self.contentView addSubview:self.headImg]; [self.headImg addSubview:self.headNameLab]; [self.contentView addSubview:self.nicknameLab]; [self.contentView addSubview:self.creatLab]; [self.contentView addSubview:self.zanBtn]; [self.contentView addSubview:self.reviews_startV]; [self.contentView addSubview:self.sizeTitleLab]; [self.contentView addSubview:self.detailLab]; [self.contentView addSubview:self.reviewsImgV]; [self setupSubViewsFrame]; self.backgroundColor = [UIColor whiteColor]; @weakify(self) self.reviewsImgV.ViewtapClose = ^(NSInteger num, id _Nonnull data) { @strongify(self) if(self.currencyparameterClose){ self.currencyparameterClose(num, data); } }; } - (void)setupSubViewsFrame{ [self.headImg mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.mas_equalTo(20); make.width.mas_equalTo(40); make.height.mas_equalTo(40); }]; [self.headNameLab mas_makeConstraints:^(MASConstraintMaker *make) { make.center.mas_equalTo(self.headImg); }]; [self.nicknameLab mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.headImg.mas_right).offset(16); make.top.equalTo(self.headImg); make.height.mas_equalTo(20); make.right.equalTo(self.zanBtn.mas_left).offset(-10); }]; [self.creatLab mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.headImg.mas_right).offset(16); make.top.equalTo(self.nicknameLab.mas_bottom); make.height.mas_equalTo(20); make.right.equalTo(self.zanBtn.mas_left).offset(-10); }]; [self.zanBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(-10); make.centerY.equalTo(self.headImg); make.height.mas_equalTo(20); make.width.mas_equalTo(60); }]; [self.reviews_startV mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(20); make.height.mas_equalTo(15); make.width.mas_equalTo(95); make.top.equalTo(self.headImg.mas_bottom).offset(10); }]; [self.sizeTitleLab mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(20); make.right.mas_equalTo(-20); make.top.equalTo(self.reviews_startV.mas_bottom).offset(10); }]; [self.detailLab mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.sizeTitleLab.mas_bottom).offset(20); make.left.mas_equalTo(20); make.right.mas_equalTo(-20); }]; [self.reviewsImgV mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.detailLab.mas_bottom).offset(10); make.left.mas_equalTo(10); make.width.mas_equalTo(KScreenWidth-20); make.height.mas_equalTo(GoodsReviewsimgWidth + 20); make.bottom.mas_equalTo(-20); }]; } #pragma mark - **************** handle **************** -(void)handle_addZanBtnEvent:(UIButton *)btn{ //判断登陆 if (![ASUserInfoManager.shared isLogin]) { [Fuction_Tool pop_toLoginVC]; return; } NSDictionary *params = nil; if(btn.selected){ //取消赞 params = @{@"rid":self.reviewM.review_id, @"flag":@"del"}; }else{ params = @{@"rid":self.reviewM.review_id, @"flag":@"add"}; } UIViewController *topVC = topViewController(); [MBProgressHUD showHUDAddedTo:topVC.view animated:YES]; K_WEAK_SELF; [ASNetTools.shared getWithPath:Reviews_rewriteProductAddReviewzan param:params success:^(id _Nonnull json) { K_STRONG_SELF; [MBProgressHUD hideHUDForView:topVC.view animated:YES]; NSLog(@"=======%@", json); // NSDictionary *tepDic = (NSDictionary *)json; btn.selected = !btn.selected; self.zanBtn.selected = btn.selected; if (btn.selected) { self.reviewM.zan = [NSString stringWithFormat:@"%d", [self.reviewM.zan intValue] + 1]; [btn setTitle:self.reviewM.zan forState:UIControlStateNormal]; [self.zanBtn setTitle:self.reviewM.zan forState:UIControlStateNormal]; } else { self.reviewM.zan = [NSString stringWithFormat:@"%d", [self.reviewM.zan intValue] - 1]; [btn setTitle:self.reviewM.zan forState:UIControlStateNormal]; [self.zanBtn setTitle:self.reviewM.zan forState:UIControlStateNormal]; } //// self.reviewM.thumbsUp = [NSString stringWithFormat:@"%d",![self.reviewM.thumbsUp boolValue]]; // self.reviewM.zan = [NSString stringWithFormat:@"%@",tepDic[@"num"]]; // [btn setTitle: self.reviewM.zan forState:UIControlStateNormal]; // [self.zanBtn setTitle:self.reviewM.zan forState:UIControlStateNormal]; } faild:^(NSString * _Nonnull code, NSString * _Nonnull msg) { // K_STRONG_SELF; [MBProgressHUD hideHUDForView:topVC.view animated:YES]; }]; } -(void)tap_imgFull:(UITapGestureRecognizer *)tap{ } -(UIImageView *)headImg{ if(!_headImg){ _headImg = [[UIImageView alloc] init]; _headImg.backgroundColor = _E0FFF5; } return _headImg; } - (UILabel *)headNameLab { if(!_headNameLab){ _headNameLab = [UILabel labelCreateWithText:@"" font:[UIFont fontWithName:Rob_Regular size:24] textColor:_113632]; _headNameLab.textAlignment = NSTextAlignmentCenter; } return _headNameLab; } -(UILabel *)nicknameLab{ if(!_nicknameLab){ _nicknameLab = [[UILabel alloc]init]; _nicknameLab.font = [UIFont fontWithName:Rob_Bold size:12]; } return _nicknameLab; } -(UILabel *)creatLab{ if(!_creatLab){ _creatLab = [[UILabel alloc]init]; _creatLab.font = [UIFont fontWithName:Rob_Regular size:12]; } return _creatLab; } -(UIButton *)zanBtn{ if(!_zanBtn){ _zanBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [_zanBtn setImage:[UIImage imageNamed:@"goos_zan_normal"] forState:UIControlStateNormal]; [_zanBtn setImage:[UIImage imageNamed:@"goos_zan_select"] forState:UIControlStateSelected]; [_zanBtn setTitle:@"10" forState:UIControlStateNormal]; [_zanBtn setTitleColor:[UIColor colorWithHexString:@"#0B0B0B"] forState:UIControlStateNormal]; _zanBtn.titleLabel.font = [UIFont fontWithName:Rob_Regular size:12]; [_zanBtn addTarget:self action:@selector(handle_addZanBtnEvent:) forControlEvents:UIControlEventTouchUpInside]; [_zanBtn setTitleEdgeInsets:UIEdgeInsetsMake(0, 8, 0, -8)]; } return _zanBtn; } -(UILabel *)sizeTitleLab{ if(!_sizeTitleLab){ _sizeTitleLab = [[UILabel alloc]init]; _sizeTitleLab.font = [UIFont fontWithName:Rob_Regular size:12]; _sizeTitleLab.textColor = [UIColor colorWithHexString:@"#B2B2B2"]; _sizeTitleLab.numberOfLines = 0; _sizeTitleLab.preferredMaxLayoutWidth = KScreenWidth - 40; // _sizeTitleLab.adjustsFontSizeToFitWidth = KScreenWidth -40; } return _sizeTitleLab; } -(UILabel *)detailLab{ if(!_detailLab){ _detailLab = [UILabel new]; _detailLab.textColor = [UIColor colorWithHexString:@"#0B0B0B"]; _detailLab.font = [UIFont fontWithName:Rob_Regular size:12]; // _detailLab.adjustsFontSizeToFitWidth = KScreenWidth -40; _detailLab.numberOfLines = 0; _detailLab.preferredMaxLayoutWidth = KScreenWidth - 40; } return _detailLab; } -(GoodsReviewsImgV *)reviewsImgV{ if(!_reviewsImgV){ _reviewsImgV = [[GoodsReviewsImgV alloc]initWithFrame:CGRectMake(10, 0, KScreenWidth-20, GoodsReviewsimgWidth +20)]; } return _reviewsImgV; } -(HCSStarRatingView *)reviews_startV{ if(!_reviews_startV){ _reviews_startV = [[HCSStarRatingView alloc]initWithFrame:CGRectMake(10, 20,95, 15)]; _reviews_startV.value =5; _reviews_startV.userInteractionEnabled = NO; _reviews_startV.filledStarImage = IMAGE(@"reviews_full_star"); _reviews_startV.emptyStarImage = IMAGE(@"reviews_empty_star"); _reviews_startV.maximumValue = 5; _reviews_startV.backgroundColor = [UIColor clearColor]; } return _reviews_startV; } @end