// // WXYZ_BookReaderMenuPayView.m // WXReader // // Created by Andrew on 2018/7/15. // Copyright © 2018年 Andrew. All rights reserved. // #import "WXYZ_BookReaderMenuPayView.h" #import "TFRechargeViewController.h" #import "WXYZ_ChapterBottomPayBar.h" #import "TFReaderSettingHelper.h" #import "TFReaderBookManager.h" @interface WXYZ_BookReaderMenuPayView () { TFReaderSettingHelper *functionalManager; } @end @implementation WXYZ_BookReaderMenuPayView - (instancetype)init { if (self = [super init]) { [self initialize]; [self createSubViews]; } return self; } - (void)initialize { self.frame = CGRectMake(0, SCREEN_HEIGHT / 2 - PUB_TABBAR_OFFSET - 2 * kMargin, SCREEN_WIDTH, SCREEN_HEIGHT / 2); self.backgroundColor = [UIColor clearColor]; functionalManager = [TFReaderSettingHelper sharedManager]; } - (void)createSubViews { UIButton *buyBulkButton = [UIButton buttonWithType:UIButtonTypeCustom]; buyBulkButton.layer.cornerRadius = 4; buyBulkButton.layer.borderColor = [functionalManager getReaderTextColor].CGColor; buyBulkButton.layer.borderWidth = 0.7; buyBulkButton.clipsToBounds = YES; [buyBulkButton setTitle:TFLocalizedString(@"批量购买更优惠") forState:UIControlStateNormal]; [buyBulkButton setTitleColor:[functionalManager getReaderTextColor] forState:UIControlStateNormal]; [buyBulkButton.titleLabel setFont:kMainFont]; [buyBulkButton addTarget:self action:@selector(buyBulkButtonClick) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:buyBulkButton]; [buyBulkButton mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.mas_equalTo(self.mas_bottom).with.offset(- 2 * kMargin); make.left.mas_equalTo(self.mas_left).with.offset(2 * kMargin); make.right.mas_equalTo(self.mas_right).with.offset(- 2 * kMargin); make.height.mas_equalTo(40); }]; UIButton *buyButton = [UIButton buttonWithType:UIButtonTypeCustom]; buyButton.layer.cornerRadius = 4; buyButton.layer.borderColor = [functionalManager getReaderTextColor].CGColor; buyButton.layer.borderWidth = 0.7; buyButton.clipsToBounds = YES; [buyButton setTitle:TFLocalizedString(@"确定购买") forState:UIControlStateNormal]; [buyButton setTitleColor:[functionalManager getReaderTextColor] forState:UIControlStateNormal]; [buyButton.titleLabel setFont:kMainFont]; [buyButton addTarget:self action:@selector(buyCurrentChapter) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:buyButton]; [buyButton mas_makeConstraints:^(MASConstraintMaker *make) { make.bottom.mas_equalTo(buyBulkButton.mas_top).with.offset(- 15); make.left.mas_equalTo(buyBulkButton.mas_left); make.right.mas_equalTo(buyBulkButton.mas_right); make.height.mas_equalTo(buyBulkButton.mas_height); }]; UILabel *titleLabel = [[UILabel alloc] init]; titleLabel.text = TFLocalizedString(@"支持正版"); titleLabel.textColor = [functionalManager getReaderTextColor]; titleLabel.backgroundColor = [UIColor clearColor]; titleLabel.font = kFont10; titleLabel.textAlignment = NSTextAlignmentCenter; [self addSubview:titleLabel]; [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.mas_equalTo(self.mas_centerX); make.bottom.mas_equalTo(buyButton.mas_top).with.offset( - 2 * kMargin); make.width.mas_equalTo(100); make.height.mas_equalTo(20); }]; UIView *leftLine = [[UIView alloc] init]; leftLine.backgroundColor = [functionalManager getReaderTextColor]; [self addSubview:leftLine]; [leftLine mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.mas_equalTo(titleLabel.mas_centerY); make.left.mas_equalTo(buyBulkButton.mas_left); make.right.mas_equalTo(titleLabel.mas_left).with.offset(- kHalfMargin); make.height.mas_equalTo(kCellLineHeight); }]; UIView *rightLine = [[UIView alloc] init]; rightLine.backgroundColor = [functionalManager getReaderTextColor]; [self addSubview:rightLine]; [rightLine mas_makeConstraints:^(MASConstraintMaker *make) { make.centerY.mas_equalTo(titleLabel.mas_centerY); make.left.mas_equalTo(titleLabel.mas_right).with.offset(kHalfMargin); make.right.mas_equalTo(buyBulkButton.mas_right); make.height.mas_equalTo(kCellLineHeight); }]; } - (void)buyBulkButtonClick { TFReaderBookManager *bookManager = [TFReaderBookManager sharedManager]; TFProductionChapterModel *t_model = [[TFProductionChapterModel alloc] init]; t_model.production_id = bookManager.book_id; t_model.chapter_id = bookManager.chapter_id; WXYZ_ChapterBottomPayBar *payBar = [[WXYZ_ChapterBottomPayBar alloc] initWithChapterModel:t_model barType:WXYZ_BottomPayBarTypeBuyChapter productionType:TFProductionTypeNovel]; [payBar showBottomPayBar]; } - (void)buyCurrentChapter { if (!TFUserInfoManager.isLogin) { [TFLoginOptionsViewController presentLoginView:nil]; return; } TFReaderBookManager *bookManager = [TFReaderBookManager sharedManager]; TFProductionChapterModel *t_model = [[TFProductionChapterModel alloc] init]; t_model.production_id = bookManager.book_id; t_model.chapter_id = bookManager.chapter_id; [TFNetworkTools POST:Book_Buy_Chapter parameters:@{@"book_id":[TFUtilsHelper formatStringWithInteger:bookManager.book_id], @"chapter_id":[TFUtilsHelper formatStringWithInteger:bookManager.chapter_id], @"num":@"1"} model:nil success:^(BOOL isSuccess, id _Nullable t_model, TFNetworkRequestModel * _Nonnull requestModel) { if (isSuccess) { NSArray *t_arr = [requestModel.data objectForKey:@"chapter_ids"]; [TFPromptManager showPromptViewWithStatus:TFPromptStatusSuccess promptTitle:TFLocalizedString(@"购买成功")]; NSInteger index = [TFReaderBookManager sharedManager].currentChapterIndex; [TFReaderBookManager sharedManager].bookModel.chapter_list[index].is_preview = NO; [[NSNotificationCenter defaultCenter] postNotificationName:NSNotification_Retry_Chapter object:nil]; [[NSNotificationCenter defaultCenter] postNotificationName:Notification_Production_Pay_Success object:t_arr]; } else if (requestModel.code == 802) { [[NSNotificationCenter defaultCenter] postNotificationName:NSNotification_Reader_Push object:@"TFRechargeViewController"]; } else { [TFPromptManager showPromptViewWithStatus:TFPromptStatusError promptTitle:requestModel.msg]; } } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { [TFPromptManager showPromptWithError:error defaultText:nil]; }]; } @end