// // YMGuestCellViewModel.m // MSYOUPAI // // Created by YoMi on 2024/2/17. // Copyright © 2024 MS. All rights reserved. // #import "YMGuestCellViewModel.h" #import "YMRelationModel.h" #import "YOUPAILCIMSessionVC.h" @interface YMGuestCellViewModel () /// 用户Id @property (nonatomic, assign, readwrite) NSInteger userId; /// 用户头像 @property (nonatomic, copy, readwrite) NSString *userAvatar; /// 用户名称 @property (nonatomic, copy, readwrite) NSString *userNickname; /// 用户性别和年龄图标 @property (nonatomic, strong, readwrite) UIImage *userGenderAndAgeIcon; /// 用户性别和年龄文本 @property (nonatomic, strong, readwrite) NSString *userGenderAndAgeText; /// 用户性别 @property (nonatomic, strong, readwrite) NSString *userGender; /// 用户访问描述 @property (nonatomic, copy, readwrite) NSString *userVisitDesc; /// 用户访问日期 @property (nonatomic, copy, readwrite) NSString *userVisitDate; /// 是否隐藏提醒 @property (nonatomic, assign, readwrite) BOOL isHideReminder; /// 是否搭讪 @property (nonatomic, assign, readwrite) BOOL isCanPrivateChat; /// 心动或搭讪按钮标题 “心动”字样是给女用户的 “搭讪”字样是给男用户 @property (nonatomic, strong, readwrite) NSString *heartbeatOrAccostButtonTitle; /// 心动或搭讪按钮图片 @property (nonatomic, strong, readwrite) NSString *heartbeatOrAccostButtonImage; /// 心动或搭讪按钮标题颜色 @property (nonatomic, strong, readwrite) UIColor *heartbeatOrAccostButtonTitleColor; /// 心动或搭讪按钮背景颜色 @property (nonatomic, strong, readwrite) UIColor *heartbeatOrAccostButtonBackgroundColor; @end @implementation YMGuestCellViewModel - (void)ym_initialize{ [super ym_initialize]; if ([self.params[ParamsModel] isKindOfClass:[YMRelationModel class]]) { YMRelationModel *model = self.params[ParamsModel]; self.userId = model.userid; self.userAvatar = model.avatar; self.userNickname = model.nickname; self.isCanPrivateChat = model.is_beckon; self.userGender = model.gender == 1 ? @"女" : @"男"; self.userGenderAndAgeIcon = model.gender == 1 ? ImageByName(@"ym_personal_page_female_icon") : ImageByName(@"ym_personal_page_male_icon"); self.userGenderAndAgeText = stringFormat(@"%ld",model.age); self.userVisitDesc = model.visitor_text; self.userVisitDate = stringFormat(@"%@看过你",model.add_time); self.isHideReminder = model.is_watch > 0 ? YES : NO; if (self.isCanPrivateChat) { self.heartbeatOrAccostButtonTitle = @"私信"; self.heartbeatOrAccostButtonImage = @"ym_common_home_siliao"; self.heartbeatOrAccostButtonTitleColor = HexColorFromRGB(0xFF70C5); self.heartbeatOrAccostButtonBackgroundColor = HexColorFromRGB(0xFFFFFF); } else { self.heartbeatOrAccostButtonTitle = [self isFemaleGender] ? @"心动" : @"搭讪"; self.heartbeatOrAccostButtonImage = [self isFemaleGender] ? @"ym_common_home_heart" : @"ym_common_home_dashan"; self.heartbeatOrAccostButtonTitleColor = HexColorFromRGB(0xFFFFFF); self.heartbeatOrAccostButtonBackgroundColor = HexColorFromRGB(0xFF70C5); } } } - (void)sendAccostRequest{ if ([self isNeedGoddessCertified]) { return; } if(self.isCanPrivateChat){ @weakify(self) NIMSession *session = [NIMSession session:stringFormat(@"%ld",self.userId) type:NIMSessionTypeP2P]; if (session) { [ZCHUDHelper show]; [[[NIMSDK sharedSDK] userManager] fetchUserInfos:@[session.sessionId] completion:^(NSArray * _Nullable users, NSError * _Nullable error) { @strongify(self) [ZCHUDHelper dismiss]; YOUPAILCIMSessionVC *vc = [[YOUPAILCIMSessionVC alloc] initWithSession:session]; vc.type = @"1"; [[YMGlobalUtils getCurrentVC].navigationController pushViewController:vc animated:YES]; }]; } }else{ @weakify(self) [LCHttpHelper requestWithURLString:HomeBeckonSend parameters:@{ @"user_ids":stringFormat(@"[%ld]",self.userId) } needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) { @strongify(self) NSDictionary* dict = (NSDictionary*)responseObject; NSInteger code = [[dict objectForKey:@"code"] integerValue]; if (code == 0) { NSDictionary *data = [dict dictionaryValueForKey:@"data" defaultValue:@{}]; BOOL boole = [data boolValueForKey:@"boole" defaultValue:NO]; if (boole) { self.isCanPrivateChat = YES; self.heartbeatOrAccostButtonTitle = @"私信"; self.heartbeatOrAccostButtonImage = @"ym_common_home_siliao"; self.heartbeatOrAccostButtonTitleColor = HexColorFromRGB(0xFF70C5); self.heartbeatOrAccostButtonBackgroundColor = HexColorFromRGB(0xFFFFFF); if (self.changeAccostStatusBlock) { self.changeAccostStatusBlock(); } } }else{ [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]]; } } failure:^(NSError *error) { [ZCHUDHelper showTitle:error.localizedDescription]; }]; } } @end