123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- //
- // YMInvitingPrizesViewModel.m
- // MSYOUPAI
- //
- // Created by YoMi on 2024/3/5.
- // Copyright © 2024 MS. All rights reserved.
- //
- #import "YMInvitingPrizesViewModel.h"
- #import "YMInvitingPrizesInfoModel.h"
- #import "YMInvitingPrizesSharePosterModel.h"
- @interface YMInvitingPrizesViewModel ()
- /// 邀请信息字典数据
- @property (nonatomic, strong, readwrite) NSArray <NSDictionary *> *invitationInfoDicDataArray;
- /// 邀请信息模组数据
- @property (nonatomic, strong, readwrite) NSArray <YMInvitingPrizesInvitationInfoViewModel *> *invitationInfoGridDataArray;
- /// 奖励说明
- @property (nonatomic, strong, readwrite) NSAttributedString *incentivesNotes;
- /// 海报数据
- @property (nonatomic, strong, readwrite) NSArray <YMInvitingPrizesSharePosterCellViewModel*>*posterDataArray;
- @end
- @implementation YMInvitingPrizesViewModel
- - (void)ym_initialize{
- [super ym_initialize];
- self.customNavTitle = @"邀请有礼";
-
- self.invitationInfoDicDataArray = @[
- @{
- @"title":@"0",
- @"desc":@"累计邀请(人数)",
- ParamsCategoryType:@(YMInvitingPrizesInvitationInfoTypeCumulativeInvitations),
- },
- @{
- @"title":@"0",
- @"desc":@"累计奖励(金币)",
- ParamsCategoryType:@(YMInvitingPrizesInvitationInfoTypeCumulativeReward),
- },
- ];
-
- }
- - (void)getInvitingPrizesInfoData{
- @weakify(self)
- [ZCHUDHelper showWithStatus:@"加载中..."];
- [LCHttpHelper requestWithURLString:InvitingPrizesInfo parameters:@{} needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
- @strongify(self)
- NSDictionary* dict = (NSDictionary*)responseObject;
- NSInteger code = [[dict objectForKey:@"code"] integerValue];
- if (code == 0) {
- [ZCHUDHelper dismiss];
- YMInvitingPrizesInfoModel *model = [YMInvitingPrizesInfoModel yy_modelWithJSON:[dict dictionaryValueForKey:@"data" defaultValue:@{}]];
- self.invitationInfoGridDataArray = [self.invitationInfoDicDataArray.rac_sequence map:^id _Nullable(NSDictionary * _Nullable invitationInfoDic) {
- YMInvitingPrizesInvitationInfoType type = [invitationInfoDic integerValueForKey:ParamsCategoryType defaultValue:YMInvitingPrizesInvitationInfoTypeCumulativeInvitations];
- YMInvitingPrizesInvitationInfoViewModel *viewModel = [[YMInvitingPrizesInvitationInfoViewModel alloc]init];
- viewModel.desc = [invitationInfoDic stringValueForKey:@"desc" defaultValue:@""];
- viewModel.infoType = type;
- switch (type) {
- case YMInvitingPrizesInvitationInfoTypeCumulativeInvitations:
- {
- viewModel.titleString = stringFormat(@"%ld",model.invite_count);
- }
- break;
- case YMInvitingPrizesInvitationInfoTypeCumulativeReward:
- {
- viewModel.titleString = stringFormat(@"%ld",model.reward_count);
- }
- break;
- default:
- break;
- }
- return viewModel;
- }].array;
-
-
- NSString *incentivesNotesStr = model.invite_rules;
- NSMutableAttributedString *incentivesNotesAttributed = [[NSMutableAttributedString alloc]initWithString:incentivesNotesStr];
- incentivesNotesAttributed.yy_font = LCFont(13);
- incentivesNotesAttributed.yy_color = HexColorFromRGB(0xB54801);
- incentivesNotesAttributed.yy_alignment = NSTextAlignmentJustified;
- incentivesNotesAttributed.yy_lineSpacing = 5;
-
- self.incentivesNotes = incentivesNotesAttributed;
-
- [self.refreshUISubject sendNext:@(YMRefreshUI)];
-
- }else{
- [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]];
- [self.refreshUISubject sendNext:@(YMRefreshError)];
- }
- } failure:^(NSError *error) {
- [ZCHUDHelper showTitle:error.localizedDescription];
- [self.refreshUISubject sendNext:@(YMRefreshError)];
- }];
-
- [LCHttpHelper requestWithURLString:InvitingPrizesPoster parameters:@{} needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
- @strongify(self)
- NSDictionary* dict = (NSDictionary*)responseObject;
- NSInteger code = [[dict objectForKey:@"code"] integerValue];
- if (code == 0) {
- YMInvitingPrizesSharePosterModel *model = [YMInvitingPrizesSharePosterModel yy_modelWithJSON:[dict dictionaryValueForKey:@"data" defaultValue:@{}]];
-
- NSMutableArray *tempArr = [NSMutableArray array];
- for (int i = 0; i<2; i++) {
- YMInvitingPrizesSharePosterCellViewModel *viewModel = [[YMInvitingPrizesSharePosterCellViewModel alloc]initWithParams:@{
- ParamsModel:model,
- @"poster":stringFormat(@"ym_inviting_prizes_share_poster_%d",i+1)
- }];
- [tempArr addObject:viewModel];
- }
-
- self.posterDataArray = tempArr.mutableCopy;
-
- [self.refreshUISubject sendNext:@(YMRefreshUI)];
- }else{
- [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]];
- }
- } failure:^(NSError *error) {
- [ZCHUDHelper showTitle:error.localizedDescription];
- }];
- }
- - (void)gotoInvitationBreakdown{
- YMInvitationBreakdownViewModel *invitationBreakdownVM = [[YMInvitationBreakdownViewModel alloc]initWithParams:@{}];
- [YMRouter openURL:stringFormat(@"%@%@",YM_ROUTER_URL_PREFIX,YM_ROUTER_INVITING_BREAKDOWN) withUserInfo:@{
- RouterViewModel:invitationBreakdownVM
- } completion:nil];
- }
- @end
|