123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- //
- // HomeNewHeadView.m
- // KulexiuForTeacher
- //
- // Created by 王智 on 2022/7/25.
- //
- #import "HomeNewHeadView.h"
- #import "KSStarView.h"
- @interface HomeNewHeadView ()
- @property (nonatomic, copy) HomeHeadBlock callback;
- @property (weak, nonatomic) IBOutlet UIView *dotView;
- @property (weak, nonatomic) IBOutlet UIImageView *styleImage;
- @property (weak, nonatomic) IBOutlet UIImageView *videoImage;
- @property (weak, nonatomic) IBOutlet UIImageView *liveImage;
- @property (weak, nonatomic) IBOutlet UIImageView *musicImage;
- @property (weak, nonatomic) IBOutlet UILabel *badgeCountLabel;
- @property (weak, nonatomic) IBOutlet UILabel *failDescLabel;
- @property (weak, nonatomic) IBOutlet UIView *failedView;
- @property (weak, nonatomic) IBOutlet UIView *authView;
- @property (weak, nonatomic) IBOutlet UIImageView *authIcon;
- @property (weak, nonatomic) IBOutlet UILabel *authTitle;
- @property (weak, nonatomic) IBOutlet UIImageView *nextImage;
- @property (nonatomic, assign) BOOL hasAuth;
- @property (weak, nonatomic) IBOutlet UILabel *gradeTitleLabel;
- @property (weak, nonatomic) IBOutlet KSStarView *starView;
- @end
- @implementation HomeNewHeadView
- - (void)awakeFromNib {
- [super awakeFromNib];
- if (@available(iOS 11.0, *)) {
- _failedView.layer.cornerRadius = 8;
- _failedView.layer.maskedCorners = kCALayerMinXMinYCorner | kCALayerMaxXMinYCorner | kCALayerMaxXMaxYCorner;
- }
- else {
- UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:_failedView.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomRight cornerRadii:CGSizeMake(8, 8)];
- CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
- maskLayer.frame = _failedView.bounds;
- maskLayer.path = path.CGPath;
- _failedView.layer.mask = maskLayer;
- }
- _failedView.layer.masksToBounds = YES;
- [_failedView bringSubviewToFront:self.failDescLabel];
- _failedView.hidden = YES;
-
- self.starView.allowMark = NO;
- }
- + (instancetype)shareInstance {
- HomeNewHeadView *view = [[[NSBundle mainBundle] loadNibNamed:@"HomeNewHeadView" owner:nil options:nil] firstObject];
- return view;
- }
- - (void)configMessage:(TeacherInfo *)infoMessage {
-
- NSArray *tagArray = [infoMessage.tag componentsSeparatedByString:@","];
- if ([NSString isEmptyString:infoMessage.tag]) {
- self.badgeCountLabel.text = @"0/4";
- }
- else {
- self.badgeCountLabel.text = [NSString stringWithFormat:@"%zd/4",tagArray.count];
- }
-
- self.starView.rate = infoMessage.starGrade / 5.0f;
- [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_nomal"]];
- [self.videoImage setImage:[UIImage imageNamed:@"mineVideo_nomal"]];
- [self.liveImage setImage:[UIImage imageNamed:@"mineLive_nomal"]];
- [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_nomal"]];
-
- BOOL hasDegreeAuth = NO;
- BOOL hasTeacherAuth = NO;
-
- for (NSString *tagString in tagArray) {
- if ([tagString isEqualToString:@"STYLE"]) {
- [self.styleImage setImage:[UIImage imageNamed:@"mineStyle_active"]];
- }
- else if ([tagString isEqualToString:@"VIDEO"]) {
- [self.videoImage setImage:[UIImage imageNamed:@"mineVideo_active"]];
- }
- else if ([tagString isEqualToString:@"LIVE"]) {
- [self.liveImage setImage:[UIImage imageNamed:@"mineLive_active"]];
- }
- else if ([tagString isEqualToString:@"MUSIC"]) {
- [self.musicImage setImage:[UIImage imageNamed:@"mineMusic_active"]];
- }
- else if ([tagString isEqualToString:@"DEGREE"]) { // 学历
- hasDegreeAuth = YES;
- }
- else if ([tagString isEqualToString:@"TEACHER"]) { // 学历
- hasTeacherAuth = YES;
- }
- }
- self.failedView.hidden = YES;
- // 认证状态
- self.hasAuth = NO;
- if ([infoMessage.entryStatus isEqualToString:@"PASS"]) { // 审核通过
- self.authView.backgroundColor = HexRGB(0xEFFBF9);
- [self.authIcon setImage:[UIImage imageNamed:@"auth_success_icon"]];
- self.authTitle.text = @"已认证";
- self.authTitle.textColor = THEMECOLOR;
- [self.nextImage setImage:[UIImage imageNamed:@"auth_next_green"]];
- self.hasAuth = YES;
- if (hasDegreeAuth && hasTeacherAuth) {
- self.dotView.hidden = YES;
- }
- else {
- self.dotView.hidden = NO;
- }
- }
- else if ([infoMessage.entryStatus isEqualToString:@"DOING"]) { // 认证审核中
- self.authView.backgroundColor = HexRGB(0xEFFBF9);
- [self.authIcon setImage:[UIImage imageNamed:@"authing_icon"]];
- self.authTitle.text = @"达人审核中";
- self.authTitle.textColor = THEMECOLOR;
- [self.nextImage setImage:[UIImage imageNamed:@"auth_next_green"]];
- }
- else if ([infoMessage.entryStatus isEqualToString:@"UNPASS"]) { // 审核失败
- self.authView.backgroundColor = THEMECOLOR;
- [self.authIcon setImage:[UIImage imageNamed:@"auth_nomal_icon"]];
- self.authTitle.text = @"达人认证";
- self.authTitle.textColor = [UIColor whiteColor];
- self.failedView.hidden = NO;
- [self.nextImage setImage:[UIImage imageNamed:@"auth_next_white"]];
- }
- else if ([infoMessage.entryStatus isEqualToString:@"UNPAALY"]) { // 未申请
- self.authView.backgroundColor = THEMECOLOR;
- [self.authIcon setImage:[UIImage imageNamed:@"auth_nomal_icon"]];
- self.authTitle.text = @"达人认证";
- self.authTitle.textColor = [UIColor whiteColor];
- [self.nextImage setImage:[UIImage imageNamed:@"auth_next_white"]];
- }
- }
- - (IBAction)authAction:(id)sender {
- if (self.callback) {
- if (self.hasAuth == NO) {
- self.callback(HOMEHEADACTION_AUTH);
- }
- else {
- if (self.dotView.isHidden) {
- self.callback(HOMEHEADACTION_EDUCATIONFINISH);
- }
- else {
- self.callback(HOMEHEADACTION_EDUCATION);
- }
- }
- }
- }
- - (IBAction)showDesc:(id)sender {
- if (self.callback) {
- self.callback(HOMEHEADACTION_DESC);
- }
- }
- - (void)authDetailAction:(HomeHeadBlock)callback {
- if (callback) {
- self.callback = callback;
- }
- }
- - (CGFloat)getViewHeight {
- return 80;
- }
- /*
- // Only override drawRect: if you perform custom drawing.
- // An empty implementation adversely affects performance during animation.
- - (void)drawRect:(CGRect)rect {
- // Drawing code
- }
- */
- @end
|