// // YMHomePageListCellViewModel.m // MSYOUPAI // // Created by YoMi on 2024/2/12. // Copyright © 2024 MS. All rights reserved. // #import "YMHomePageListCellViewModel.h" #import "YMHomeListModel.h" #import "YOUPAILCIMSessionVC.h" @interface YMHomePageListCellViewModel () /// 用户Id @property (nonatomic, assign, readwrite) NSInteger userId; /// 用户头像 @property (nonatomic, copy, readwrite) NSString * userAvatar; /// 用户在线状态颜色 @property (nonatomic, strong, readwrite) UIColor *userOnlineStatusColor; /// 用户在线状态文本 @property (nonatomic, strong, readwrite) NSString *userOnlineStatusText; @property (nonatomic, strong, readwrite) UIColor *userOnlineTextColor; /// 用户昵称 @property (nonatomic, copy, readwrite) NSString * userNickname; /// 用户昵称颜色 @property (nonatomic, copy, readwrite) UIColor * userNicknameColor; /// 用户是否在线 @property (nonatomic, assign, readwrite) NSInteger is_online; /// 用户是否在线颜色 @property (nonatomic, copy, readwrite) UIColor * is_onlineColor; /// 用户视频费用金额 @property (nonatomic, copy, readwrite) NSString * userVideoFeesAmount; /// 是否隐藏用户收费金额 @property (nonatomic, assign, readwrite) BOOL isHideUserFeesAmount; /// 是否可私聊 @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 YMHomePageListCellViewModel - (void)ym_initialize{ [super ym_initialize]; if ([self.params[ParamsModel] isKindOfClass:[YMHomeListModel class]]) { YMHomeListModel *model = self.params[ParamsModel]; self.userId = model.user_id; self.userAvatar = model.avatar; if (model.video_status == 0) { self.userOnlineStatusColor = DecColorFromRGBA(156, 236, 160, 0.16); self.userOnlineTextColor = kColors(@"#6ED473"); self.userOnlineStatusText = @"空闲"; self.is_onlineColor = HexColorFromRGB(0x22F759); } else if (model.video_status == 1) { self.userOnlineStatusColor = DecColorFromRGBA(255, 164, 164, 0.21); self.userOnlineTextColor = kColors(@"#FF5473"); self.userOnlineStatusText = @"在聊"; self.is_onlineColor = HexColorFromRGB(0x22F759); }else{ self.userOnlineStatusColor = DecColorFromRGBA(122, 122, 122, 0.1); self.userOnlineTextColor = kColors(@"#888888"); self.userOnlineStatusText = @"离线"; self.is_onlineColor = UIColor.clearColor; } self.userNickname = model.nickname; if (model.is_vip != 1) { self.userNicknameColor = HexColorFromRGB(0x333333); } else { self.userNicknameColor = HexColorFromRGB(0x954403); } self.is_online = model.is_online; self.userVideoFeesAmount = stringFormat(@"%ld钻石/分钟",model.video_price); self.isHideUserFeesAmount = model.gender == 1 ? NO : YES; self.isCanPrivateChat = model.is_beckon; if (self.isCanPrivateChat) { //self.heartbeatOrAccostButtonTitle = @"私信"; //self.heartbeatOrAccostButtonImage = @"ym_common_home_siliao"; 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.heartbeatOrAccostButtonTitle = @""; self.heartbeatOrAccostButtonImage = @"ym_common_home_pink_heart"; self.heartbeatOrAccostButtonTitleColor = HexColorFromRGB(0x000000); self.heartbeatOrAccostButtonBackgroundColor = HexColorFromRGB(0xFF70C5); } } } - (void)sendAccostRequest{ if ([self isNeedGoddessCertified]) { return; } // YOUPAILCUserModel *userModel = [LCSaveModel getUserModel]; // // 当前登录用户性别为女,直接跳转聊天 // if (!self.isFemaleGender && self.jxCategoryPageIndex == 0) { // 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) { [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); [self updateWithPageIndex]; if (self.changeAccostStatusBlock) { self.changeAccostStatusBlock(); } } }else{ [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]]; } } failure:^(NSError *error) { [ZCHUDHelper showTitle:error.localizedDescription]; }]; } } - (void)updateWithPageIndex { if (self.isFemaleGender) { if (self.isCanPrivateChat) { self.heartbeatOrAccostButtonTitle = @" 私信"; self.heartbeatOrAccostButtonImage = @"ym_common_home_siliao"; self.heartbeatOrAccostButtonTitleColor = UIColor.clearColor; self.heartbeatOrAccostButtonBackgroundColor = UIColor.clearColor; } else { self.heartbeatOrAccostButtonTitle = @" 心动"; self.heartbeatOrAccostButtonImage = @"ym_common_home_dashan"; self.heartbeatOrAccostButtonTitleColor = UIColor.clearColor; self.heartbeatOrAccostButtonBackgroundColor = UIColor.clearColor; } } else { if (self.jxCategoryPageIndex == 0) { if (self.isCanPrivateChat) { self.heartbeatOrAccostButtonTitle = @""; self.heartbeatOrAccostButtonImage = @"ym_common_home_blue_heart"; self.heartbeatOrAccostButtonTitleColor = UIColor.clearColor; self.heartbeatOrAccostButtonBackgroundColor = UIColor.clearColor; } else { self.heartbeatOrAccostButtonTitle = @""; self.heartbeatOrAccostButtonImage = @"ym_common_home_pink_heart"; self.heartbeatOrAccostButtonTitleColor = UIColor.clearColor; self.heartbeatOrAccostButtonBackgroundColor = UIColor.clearColor; } } else { if (self.isCanPrivateChat) { self.heartbeatOrAccostButtonTitle = @" 私信"; self.heartbeatOrAccostButtonImage = @"ym_common_home_siliao"; self.heartbeatOrAccostButtonTitleColor = UIColor.clearColor; self.heartbeatOrAccostButtonBackgroundColor = UIColor.clearColor; } else { self.heartbeatOrAccostButtonTitle = @" 搭讪"; self.heartbeatOrAccostButtonImage = @"ym_common_home_dashan"; self.heartbeatOrAccostButtonTitleColor = UIColor.clearColor; self.heartbeatOrAccostButtonBackgroundColor = UIColor.clearColor; } } } } @end