// // YMSearchUserCellViewModel.m // MSYOUPAI // // Created by YoMi on 2024/3/17. // Copyright © 2024 MS. All rights reserved. // #import "YMSearchUserCellViewModel.h" #import "YMSearchUserModel.h" #import "YOUPAILCIMSessionVC.h" @interface YMSearchUserCellViewModel () /// 用户Id @property (nonatomic, assign, readwrite) NSInteger userId; /// 用户头像 @property (nonatomic, copy, readwrite) NSString *userAvatar; /// 用户名称 @property (nonatomic, copy, readwrite) NSString *userNickname; /// 用户描述 @property (nonatomic, copy, readwrite) NSString *userDesc; /// 是否搭讪 @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 YMSearchUserCellViewModel - (void)ym_initialize{ [super ym_initialize]; if ([self.params[ParamsModel] isKindOfClass:[YMSearchUserModel class]]) { YMSearchUserModel *model = self.params[ParamsModel]; self.userId = model.user_id; self.userAvatar = model.avatar; self.userNickname = model.nickname; NSMutableString *desc = [NSMutableString string]; if (model.gender == 1) { [desc appendFormat:@"女 | "]; }else{ [desc appendFormat:@"男 | "]; } if (model.age != 0) { [desc appendFormat:@"%ld岁 | ",model.age]; } self.userDesc = [desc substringToIndex:desc.length - 2]; self.isCanPrivateChat = model.is_beckon; 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; } YOUPAILCUserModel *userModel = [LCSaveModel getUserModel]; // 当前登录用户性别为女,直接跳转聊天 if (userModel.youpaipuserinfo.youpaipgender == 1) { 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]; }]; } 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