You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
4.9 KiB
97 lines
4.9 KiB
// |
|
// TFGiftAlertView.m |
|
// TFReader |
|
// |
|
// Created by 谢腾飞 on 2020/12/17. |
|
// Copyright © 2020 xtfei_2011@126.com. All rights reserved. |
|
// |
|
|
|
#import "TFGiftAlertView.h" |
|
#import "WXYZ_TickectAlertModel.h" |
|
#import "WXYZ_GiftMonthlyPassModel.h" |
|
#import "TFReaderBookManager.h" |
|
#import "TFRechargeViewController.h" |
|
|
|
@implementation TFGiftAlertView |
|
|
|
- (void)createSubviews |
|
{ |
|
[super createSubviews]; |
|
|
|
self.alertBtnType = TFAlertButtonTypeSingleConfirm; |
|
} |
|
|
|
- (void)setAlertModel:(WXYZ_TickectAlertModel *)alertModel giftModel:(WXYZ_GiftMonthlyPassListModel *)giftModel production_id:(NSInteger)production_id ticketBlock:(void(^)(NSInteger number))ticketBlock |
|
{ |
|
self.alertTitle = alertModel.title ? : @""; |
|
|
|
NSString *str = [alertModel.desc componentsJoinedByString:@"\n"]; |
|
NSRange range = [str rangeOfString:@"###.*###" options:NSRegularExpressionSearch]; |
|
if (range.length == 0) range = NSMakeRange(0, 0); |
|
NSString *suffix = [[str substringWithRange:range] stringByReplacingOccurrencesOfString:@"#" withString:@""]; |
|
NSMutableString *prefix = [NSMutableString stringWithString:[str stringByReplacingCharactersInRange:range withString:@""]]; |
|
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; |
|
style.lineSpacing = 9.0; |
|
[prefix insertString:suffix atIndex:range.location]; |
|
|
|
NSMutableAttributedString *t_atr = [[NSMutableAttributedString alloc] initWithString:prefix attributes:@{NSFontAttributeName : kFont13, NSForegroundColorAttributeName : kGrayTextColor, NSParagraphStyleAttributeName : style}]; |
|
[t_atr addAttributes:@{NSForegroundColorAttributeName : kMainColor} range:NSMakeRange(range.location, suffix.length)]; |
|
t_atr.alignment = NSTextAlignmentCenter; |
|
self.attributedStr = t_atr; |
|
self.confirmTitle = alertModel.items.firstObject.title ?: @""; |
|
|
|
[self.contentScrollView mas_remakeConstraints:^(MASConstraintMaker *make) { |
|
make.top.equalTo(self.alertTitleLabel.mas_bottom).offset(0); |
|
make.left.equalTo(self.alertBackView).offset(kHalfMargin); |
|
make.right.equalTo(self.alertBackView).offset(-kHalfMargin); |
|
make.height.mas_equalTo([TFViewHelper getDynamicHeightWithLabelFont:kMainFont labelWidth:SCREEN_WIDTH - 3 * kMargin labelText:self.attributedStr.string] + kLabelHeight); |
|
}]; |
|
self.contentScrollView.scrollEnabled = NO; |
|
|
|
[self.alertBackView mas_remakeConstraints:^(MASConstraintMaker *make) { |
|
make.left.equalTo(self.alertBackView.superview).offset(kMargin * 2); |
|
make.right.equalTo(self.alertBackView.superview).offset(-kMargin * 2); |
|
make.bottom.mas_equalTo(self.confirmButton.mas_bottom).with.offset(0).priorityLow(); |
|
make.center.equalTo(self.alertBackView.superview); |
|
}]; |
|
|
|
[self.contentLabel mas_remakeConstraints:^(MASConstraintMaker *make) { |
|
make.top.left.right.bottom.equalTo(self.contentScrollView); |
|
}]; |
|
|
|
[self.confirmButton mas_remakeConstraints:^(MASConstraintMaker *make) { |
|
make.right.mas_equalTo(self.alertBackView.mas_right).with.offset(0); |
|
make.top.mas_equalTo(self.contentLabel.mas_bottom).offset(kHalfMargin); |
|
make.height.mas_equalTo(45.0); |
|
make.width.equalTo(self.alertBackView); |
|
}]; |
|
|
|
self.confirmButtonClickBlock = ^{ |
|
if ([alertModel.items.firstObject.action isEqualToString:@"recharge"]) { |
|
[[NSNotificationCenter defaultCenter] postNotificationName:NSNotification_Reader_Push object:@""]; |
|
[[TFViewHelper getCurrentNavigationController] pushViewController:[[TFRechargeViewController alloc] init] animated:YES]; |
|
} else { |
|
NSDictionary *params = @{ |
|
@"book_id" : @(production_id), |
|
@"chapter_id" : @([TFReaderBookManager sharedManager].chapter_id), |
|
@"num" : @(giftModel.num), |
|
@"use_gold" : @"1" |
|
}; |
|
[TFNetworkTools POST:Book_Reward_Ticket_Vote parameters:params model:nil success:^(BOOL isSuccess, NSDictionary * _Nullable t_model, TFNetworkRequestModel * _Nonnull requestModel) { |
|
if (isSuccess) { |
|
NSString *text = [NSString stringWithFormat:@"%@", t_model[@"data"][@"ticket_num"]]; |
|
[[NSNotificationCenter defaultCenter] postNotificationName:@"changeTicket" object:text]; |
|
[TFPromptManager showPromptViewWithStatus:TFPromptStatusSuccess promptTitle:TFLocalizedString(@"投票成功")]; |
|
[TFReaderBookManager sharedManager].ticket_num = text ?: @""; |
|
!ticketBlock ?: ticketBlock([text integerValue]); |
|
} else { |
|
[TFPromptManager showPromptViewWithStatus:TFPromptStatusError promptTitle:requestModel.msg]; |
|
} |
|
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { |
|
[TFPromptManager showPromptWithError:error defaultText:nil]; |
|
}]; |
|
} |
|
}; |
|
} |
|
|
|
@end
|
|
|