// // ASUserBaseInfoView.m // Asteria // // Created by iOS on 2023/5/15. // #import "ASUserBaseInfoView.h" @interface ASUserBaseInfoView () @property (nonatomic, strong) UILabel *uNameLb; @property (nonatomic, strong) UILabel *emailLb; @property (nonatomic, strong) UIImageView *vipLevelV; @property (nonatomic, strong) UIStackView *stv; @end @implementation ASUserBaseInfoView - (void)setData { ASUserModel *user = ASUserInfoManager.shared.userInfo; NSString *userName = [NSString stringWithFormat:@"%@ %@", user.lastname, user.firstname]; [self.avaterV setUserHeadV:@"" uName:userName]; self.uNameLb.text = userName; NSInteger level = ASUserInfoManager.shared.curVipInfo.level.integerValue; self.vipLevelV.image = [UIImage imageNamed:[NSString stringWithFormat:@"uc_vip_level_%ld", level]]; self.emailLb.text = user.email; self.usefualLb.text = [NSString stringWithFormat: @"%@ points", ASUserInfoManager.shared.userPoints]; } - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.backgroundColor = UIColor.clearColor; [self loadSubV]; } return self; } - (void)loadSubV { [self addSubview:self.avaterV]; self.stv = [UIStackView baseStackV:true]; self.stv.spacing = 4; self.stv.distribution = UIStackViewDistributionFill; [self addSubview:self.stv]; [self.stv addArrangedSubview:self.uNameLb]; [self.stv addArrangedSubview:self.emailLb]; UIView *levelBgV = [UIView baseV]; levelBgV.backgroundColor = UIColor.clearColor; [self.stv addArrangedSubview:levelBgV]; [self.stv addArrangedSubview:self.usefualLb]; [levelBgV mas_makeConstraints:^(MASConstraintMaker *make) { make.height.equalTo(@16); }]; [levelBgV addSubview:self.vipLevelV]; [self.vipLevelV mas_makeConstraints:^(MASConstraintMaker *make) { make.top.leading.bottom.equalTo(levelBgV); }]; [self setSubVMas]; } - (void)setSubVMas { [self.uNameLb mas_makeConstraints:^(MASConstraintMaker *make) { make.height.equalTo(@17); }]; [self.emailLb mas_makeConstraints:^(MASConstraintMaker *make) { make.height.greaterThanOrEqualTo(@14); }]; [self.usefualLb mas_makeConstraints:^(MASConstraintMaker *make) { make.height.equalTo(@17); }]; [self.avaterV mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.equalTo(@100); make.top.leading.bottom.equalTo(self); }]; [self.stv mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.avaterV.mas_top).offset(10); make.leading.equalTo(self.avaterV.mas_trailing).offset(10); make.trailing.equalTo(self); make.bottom.equalTo(self.avaterV.mas_bottom).offset(-10); }]; } - (void)reSetSubVMas { [self.uNameLb mas_makeConstraints:^(MASConstraintMaker *make) { make.height.equalTo(@22); }]; [self.emailLb mas_makeConstraints:^(MASConstraintMaker *make) { make.height.equalTo(@17); }]; [self.usefualLb mas_makeConstraints:^(MASConstraintMaker *make) { make.height.equalTo(@17); }]; [self.avaterV setCorner:8]; [self.avaterV mas_makeConstraints:^(MASConstraintMaker *make) { make.width.height.equalTo(@88); make.top.leading.bottom.equalTo(self); }]; [self.stv mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.avaterV.mas_top).offset(0); make.leading.equalTo(self.avaterV.mas_trailing).offset(10); make.trailing.equalTo(self); make.bottom.equalTo(self.avaterV.mas_bottom).offset(0); }]; } - (UIImageView *)vipLevelV { if (!_vipLevelV) { UIImageView *v = [[UIImageView alloc] init]; v.contentMode = UIViewContentModeScaleAspectFit; _vipLevelV = v; } return _vipLevelV; } - (ASUserAvaterView *)avaterV { if (!_avaterV) { ASUserAvaterView *v = [[ASUserAvaterView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; _avaterV = v; } return _avaterV; } - (UILabel *)uNameLb { if (!_uNameLb) { UILabel *lb = [UILabel baseLb]; lb.font = [UIFont fontWithName:Rob_Bold size:14]; lb.textColor = Col_000; _uNameLb = lb; } return _uNameLb; } - (UILabel *)emailLb { if (!_emailLb) { UILabel *lb = [UILabel baseLb]; lb.font = [UIFont fontWithName:Rob_Regular size:12]; lb.textColor = Col_000; _emailLb = lb; } return _emailLb; } - (UILabel *)usefualLb { if (!_usefualLb) { UILabel *lb = [UILabel baseLb]; lb.font = [UIFont fontWithName:Rob_Bold size:14]; lb.textColor = Col_000; _usefualLb = lb; } return _usefualLb; } @end