123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- //
- // 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<NIMUser *> * _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<NIMUser *> * _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
|