| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444 |
- //
- // YBRechargeVC.m
- // YBVideo
- //
- // Created by YB007 on 2019/11/20.
- // Copyright © 2019 cat. All rights reserved.
- //
- #import "YBRechargeVC.h"
- #import "PubH5.h"
- #import "YBRechargeType.h"
- @interface YBRechargeVC (){
- UILabel *coinL;
- UIImageView *headerImgV;
- NSDictionary *subDic;
- NSArray *allArray;
- UIScrollView *backScroll;
- NSMutableArray *payTypeArray;
- NSMutableArray *coinArray;
-
- NSString *payTypeID;
- BOOL isCreatUI;
- NSDictionary *payTypeSelDic;
- }
- @property(nonatomic,strong)NSDictionary *seleDic;//选中的钻石字典
- //支付宝
- @property(nonatomic,copy)NSString *aliapp_key_ios;
- @property(nonatomic,copy)NSString *aliapp_partner;
- @property(nonatomic,copy)NSString *aliapp_seller_id;
- //微信
- @property(nonatomic,copy)NSString *wx_appid;
- @end
- @implementation YBRechargeVC
- - (void)viewWillAppear:(BOOL)animated{
- [self requestData];
- }
- - (void)clickNaviLeftBtn {
- [super clickNaviLeftBtn];
- [[YBRechargeType chargeManeger]removePayNotice];
- [[NSNotificationCenter defaultCenter]removeObserver:self];
- }
- -(void)dealloc {
- [[YBRechargeType chargeManeger]removePayNotice];
- [[NSNotificationCenter defaultCenter]removeObserver:self];
- }
- -(void)clickNaviRightBtn
- {
- NSString *url =[NSString stringWithFormat:@"%@/appapi/charge/index",h5url];
- PubH5 *VC = [[PubH5 alloc]init];
- VC.url =[h5url stringByAppendingString:[NSString stringWithFormat:@"/appapi/charge/index?uid=%@&token=%@",[Config getOwnID],[Config getOwnToken]]];
- [[YBBaseAppDelegate sharedAppDelegate] pushViewController:VC animated:YES];
- }
- -(void)appactive {
- [self requestData];
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
- //支付监听
- [[YBRechargeType chargeManeger]addPayNotice];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appactive) name:UIApplicationDidBecomeActiveNotification object:nil];
- self.titleL.text = YZMsg(@"我的钱包");
- self.rightBtn.hidden = NO;
- [self.rightBtn setImage:[UIImage imageNamed:@"recharge_明细"] forState:0];
-
- payTypeArray = [NSMutableArray array];
- coinArray = [NSMutableArray array];
- backScroll = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 64+statusbarHeight, _window_width, _window_height-64-statusbarHeight-60-ShowDiff)];
- [self.view addSubview:backScroll];
- backScroll.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
- [self requestData];
- }];
- headerImgV = [[UIImageView alloc]initWithFrame:CGRectMake(15, 10, _window_width-30, (_window_width-30)*0.38)];
- headerImgV.userInteractionEnabled = YES;
- headerImgV.image = [UIImage imageNamed:@"recharge_背景"];
- [backScroll addSubview:headerImgV];
- UILabel *labelll = [[UILabel alloc]init];
- labelll.textColor = [UIColor whiteColor];
- labelll.font = SYS_Font(12);
- labelll.text = [NSString stringWithFormat:@"%@%@",YZMsg(@"我的"),[common name_coin]];
- [headerImgV addSubview:labelll];
- [labelll mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerX.equalTo(headerImgV);
- make.centerY.equalTo(headerImgV).multipliedBy(0.65);
- }];
- coinL = [[UILabel alloc]init];
- coinL.textColor = [UIColor whiteColor];
- coinL.font = [UIFont boldSystemFontOfSize:28];
- coinL.text = @"0";
- [headerImgV addSubview:coinL];
- [coinL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerX.equalTo(headerImgV);
- make.centerY.equalTo(headerImgV).multipliedBy(1.11);
- }];
-
- YBButton *youngBtn = [PublicObj youngAlertBtn];
- [self.view addSubview:youngBtn];
- [youngBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerX.equalTo(backScroll);
- make.top.equalTo(backScroll.mas_bottom).offset(10);
- }];
-
- NSString *xieyiStr = YZMsg(@"《用户充值协议》");
- UILabel *label = [[UILabel alloc] init];
- label.text = [NSString stringWithFormat:@"%@%@",YZMsg(@"已阅读并同意"),xieyiStr];
- label.textColor = RGB_COLOR(@"#646464", 1);
- label.textAlignment = NSTextAlignmentCenter;
- label.font = [UIFont systemFontOfSize:13];
- [self.view addSubview:label];
- [label mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerX.equalTo(backScroll);
- make.top.equalTo(youngBtn.mas_bottom).offset(5);
- }];
- NSRange range = [label.text rangeOfString:xieyiStr];
- NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:label.text];
- [str addAttribute:NSForegroundColorAttributeName value:Pink_Cor range:range];
- label.attributedText = str;
- label.userInteractionEnabled = YES;
- UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(eula)];
- [label addGestureRecognizer:tap];
-
- }
- - (void)requestData{
- [YBNetworking postWithUrl:@"User.getBalance" Dic:@{@"type":@"1",@"version_ios":[PublicObj getAppBuild]} Suc:^(int code, id info, NSString *msg) {
- [backScroll.mj_header endRefreshing];
- if (code == 0) {
- NSDictionary *infoDic = [info firstObject];
- coinL.text = minstr([infoDic valueForKey:@"coin"]);
- [Config saveUserCoin:minstr([infoDic valueForKey:@"coin"])];
- if (self.block) {
- self.block(minstr([infoDic valueForKey:@"coin"]));
- }
- if (allArray.count == 0) {
- _aliapp_key_ios = [infoDic valueForKey:@"aliapp_key_ios"]?[infoDic valueForKey:@"aliapp_key_ios"]:minstr([infoDic valueForKey:@"aliapp_key"]);
- _aliapp_partner = minstr([infoDic valueForKey:@"aliapp_partner"]);
- _aliapp_seller_id = minstr([infoDic valueForKey:@"aliapp_seller_id"]);
- //微信的信息
- _wx_appid = [infoDic valueForKey:@"wx_appid"];
-
- NSArray *ssssss = [infoDic valueForKey:@"paylist"];
- NSArray *rulesA = [infoDic valueForKey:@"rules"];
- if ([PublicObj isUp]) {
- /// 充值规则中可能包含充值优惠,上架期间剔除
- NSMutableArray *m_a = [NSMutableArray array];
- for (NSDictionary *subDic in rulesA) {
- int r_m = [minstr([subDic valueForKey:@"money"]) intValue];
- if (r_m > 6) {
- [m_a addObject:subDic];
- }
- }
- rulesA = [NSArray arrayWithArray:m_a];
- }
- if (ssssss.count > 0) {
- allArray = @[ssssss,rulesA];
- if (!isCreatUI) {
- [self creatUI];
- }
- }
- }
- }
- } Fail:^(id fail) {
- [backScroll.mj_header endRefreshing];
- }];
- }
- - (void)creatUI{
- isCreatUI = YES;
- CGFloat btnWidth;
- CGFloat btnHeight;
- CGFloat btnSH = 0.0;
- if (IS_IPHONE_5) {
- btnWidth = 90;
- btnHeight = 41;
- btnSH = 49;
- }else{
- btnWidth = 110;
- btnHeight = 50;
- btnSH = 60;
- }
- CGFloat speace = (_window_width-30-btnWidth*3)/2;
- CGFloat y = headerImgV.bottom + 20;
- for (int i = 0; i < allArray.count; i++) {
- UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(15, y, 300, 20)];
- label.font = SYS_Font(12);
- label.textColor = RGB_COLOR(@"#ffffff", 0.6);
- NSArray *array = allArray[i];
- [backScroll addSubview:label];
- if (i == 0) {
- if (array.count == 0) {
- payTypeID = @"";
- continue;
- }
- if (array.count == 1 && [minstr([array[0] valueForKey:@"id"]) isEqual:@"apple"]) {
- payTypeID = @"apple";
- continue;
- }
- label.text = YZMsg(@"请选择支付方式");
-
- YBButton *youngBtn = [PublicObj youngAlertBtn];
- [backScroll addSubview:youngBtn];
- [youngBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.height.centerY.equalTo(label);
- make.right.equalTo(self.view.mas_right).offset(-15);
- }];
-
- for (int j = 0; j < array.count; j++) {
- UIButton *btn = [UIButton buttonWithType:0];
- btn.backgroundColor = CellRow_Cor;
- btn.frame = CGRectMake(15+j%3 * (btnWidth+speace), label.bottom+10+(j/3)*(btnHeight + 30), btnWidth, btnHeight);
- [btn addTarget:self action:@selector(payTypeBtnClick:) forControlEvents:UIControlEventTouchUpInside];
- [btn setBackgroundImage:[UIImage imageNamed:@""] forState:0];
- [btn setBackgroundImage:[UIImage imageNamed:@"recharge_sel"] forState:UIControlStateSelected];
- [backScroll addSubview:btn];
- if (j == 0) {
- btn.selected = YES;
- payTypeID = minstr([array[j] valueForKey:@"id"]);
- }
- btn.tag = 1000+j;
- UILabel *titleL = [[UILabel alloc]init];
- titleL.font = SYS_Font(13);
- titleL.textColor = RGB_COLOR(@"#ffffff", 1);
- titleL.text = minstr([array[j] valueForKey:@"name"]);
- titleL.adjustsFontSizeToFitWidth = YES;
- [btn addSubview:titleL];
- [titleL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(btn);
- make.width.lessThanOrEqualTo(btn.mas_width).offset(-20);
- make.centerX.equalTo(btn).multipliedBy(1.21);
- }];
- UIImageView *imgV = [[UIImageView alloc]init];
- [imgV sd_setImageWithURL:[NSURL URLWithString:minstr([array[j] valueForKey:@"thumb"])]];
- [btn addSubview:imgV];
- [imgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(btn);
- make.height.width.mas_equalTo(16);
- make.right.equalTo(titleL.mas_left).offset(-5);
- }];
- [payTypeArray addObject:btn];
- if (j == array.count-1) {
- [backScroll layoutIfNeeded];
- y = btn.bottom + 20;
- }
- }
- }else{
- label.text = YZMsg(@"请选择充值金额");
- for (int j = 0; j < array.count; j++) {
- UIButton *btn = [UIButton buttonWithType:0];
- btn.backgroundColor = CellRow_Cor;
- btn.frame = CGRectMake(15+j%3 * (btnWidth+speace), label.bottom+10+(j/3)*(btnSH + 30), btnWidth, btnSH);
- [btn addTarget:self action:@selector(coinBtnClick:) forControlEvents:UIControlEventTouchUpInside];
- btn.clipsToBounds = NO;
- btn.layer.cornerRadius = 5;
- btn.layer.masksToBounds = YES;
- btn.layer.borderWidth = 1;
- btn.tag = 2000+j;
- [backScroll addSubview:btn];
- NSString *give = minstr([array[j] valueForKey:@"give"]);
- if (![give isEqual:@"0"]) {
- CGFloat widddth = [PublicObj sizeWithString:[NSString stringWithFormat:@"%@%@%@",YZMsg(@"赠送"),give,[common name_coin]] andFont:SYS_Font(10)].width;
- UIImageView *giveImgV = [[UIImageView alloc]initWithFrame:CGRectMake(btn.right-widddth-5, btn.top-7.5, widddth+10, 20)];
- giveImgV.image = [UIImage imageNamed:@"recharge_send"];
- [backScroll addSubview:giveImgV];
- UILabel *giveLabel = [[UILabel alloc]initWithFrame:CGRectMake(5, 0, widddth, 15)];
- giveLabel.text = [NSString stringWithFormat:@"%@%@%@",YZMsg(@"赠送"),give,[common name_coin]];
- giveLabel.font = SYS_Font(10);
- giveLabel.textColor = [UIColor whiteColor];
- [giveImgV addSubview:giveLabel];
- }
- // if (j == 0) {
- btn.layer.borderColor = [UIColor clearColor].CGColor;
- // }
- UILabel *titleL = [[UILabel alloc]init];
- titleL.font = SYS_Font(15);
- titleL.textColor = RGB_COLOR(@"#ffffff", 1);
- titleL.text = minstr([array[j] valueForKey:@"coin"]);
- if ([payTypeID isEqual:@"apple"]) {
- titleL.text = minstr([array[j] valueForKey:@"coin_ios"]);
- }
- titleL.tag = btn.tag + 3000;
- [btn addSubview:titleL];
- [titleL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(btn).multipliedBy(0.73);
- make.centerX.equalTo(btn);
- }];
- UIImageView *imgV = [[UIImageView alloc]init];
- imgV.image = [UIImage imageNamed:@"礼物-金币"];
- [btn addSubview:imgV];
- [imgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(titleL);
- make.height.width.mas_equalTo(12);
- make.left.equalTo(titleL.mas_right).offset(5);
- }];
- UILabel *moneyL = [[UILabel alloc]init];
- moneyL.font = SYS_Font(12);
- moneyL.textColor = RGB_COLOR(@"#ffffff", 1);
- moneyL.tag = btn.tag +4000;
- moneyL.text = [NSString stringWithFormat:@"¥%@",minstr([array[j] valueForKey:@"money"])];
- [btn addSubview:moneyL];
- [moneyL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(btn).multipliedBy(1.3);
- make.centerX.equalTo(btn);
- }];
- [coinArray addObject:btn];
- if (j == array.count-1) {
- [backScroll layoutIfNeeded];
- y = btn.bottom + 20;
- }
- }
- }
- }
- CGFloat bottomLY;
- if (y > backScroll.height - 40 -ShowDiff) {
- bottomLY = y + 40;
- }else{
- bottomLY = backScroll.height - 40 -ShowDiff;
- }
- backScroll.contentSize = CGSizeMake(0, bottomLY);
- }
- - (void)payTypeBtnClick:(UIButton *)sender{
- if (sender.selected) {
- return;
- }
- for (UIButton *btn in payTypeArray) {
- if (btn == sender) {
- btn.selected = YES;
- }else{
- btn.selected = NO;
- }
- }
- NSArray *typearr = allArray[0];
- payTypeSelDic = typearr[sender.tag - 1000];
- payTypeID = minstr([payTypeSelDic valueForKey:@"id"]);
- for (int i = 0; i < coinArray.count; i++) {
- UIButton *btn = coinArray[i];
- UILabel *label = (UILabel *)[btn viewWithTag:btn.tag+3000];
- UILabel *moneyLb = (UILabel *)[btn viewWithTag:btn.tag+4000];
- if ([payTypeID isEqual:@"apple"]) {
- label.text = minstr([allArray[1][i] valueForKey:@"coin_ios"]);
- moneyLb.text =[NSString stringWithFormat:@"¥%@",minstr([allArray[1][i] valueForKey:@"money"])];
- }else if ([payTypeID isEqual:@"paypal"]){
- label.text = minstr([allArray[1][i] valueForKey:@"coin_paypal"]);
- moneyLb.text =[NSString stringWithFormat:@"$%@",minstr([allArray[1][i] valueForKey:@"money"])];
- }else{
- label.text = minstr([allArray[1][i] valueForKey:@"coin"]);
- moneyLb.text =[NSString stringWithFormat:@"¥%@",minstr([allArray[1][i] valueForKey:@"money"])];
- }
- }
- }
- - (void)coinBtnClick:(UIButton *)sender{
- for (UIButton *btn in coinArray) {
- if (btn == sender) {
- //btn.layer.borderColor = Pink_Cor.CGColor;
- [btn setBackgroundImage:[UIImage imageNamed:@"充值-金币"] forState:0];
- }else{
- //btn.layer.borderColor = UIColor.clearColor.CGColor;
- [btn setBackgroundImage:[UIImage imageNamed:@""] forState:0];
- }
- }
- _seleDic = allArray[1][sender.tag-2000];
- if (minstr([payTypeSelDic valueForKey:@"href"]).length > 6) {
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:minstr([payTypeSelDic valueForKey:@"href"])]];
- }else{
- NSDictionary *payPostDic = @{@"chargeid":minstr([_seleDic valueForKey:@"id"]),
- @"coin":minstr([_seleDic valueForKey:@"coin"]),
- @"money":minstr([_seleDic valueForKey:@"money"]),//
- };
- YBWeakSelf;
- if ([payTypeID isEqual:@"ali"]) {
- [YBRechargeType chargeManeger].aliPayKey = _aliapp_key_ios;
- [YBRechargeType chargeManeger].aliPayPartner = _aliapp_partner;
- [YBRechargeType chargeManeger].aliPaySellerID = _aliapp_seller_id;
- [YBRechargeType chargeManeger].aliCallBackUrl = [h5url stringByAppendingString:@"/appapi/pay/notify_ali"];
- [[YBRechargeType chargeManeger]selAliPayUrl:@"Charge.getAliOrder" andParameter:payPostDic complete:^(int stateCode, int payType, NSString *msg) {
- dispatch_async(dispatch_get_main_queue(), ^{
- if (stateCode == 0) {
- [weakSelf requestData];
- }
- });
- }];
- }
- if ([payTypeID isEqual:@"wx"]) {
- [YBRechargeType chargeManeger].wechatAppID = _wx_appid;
- [[YBRechargeType chargeManeger]selWechatPayUrl:@"Charge.getWxOrder" andParameter:payPostDic complete:^(int stateCode, int payType, NSString *msg) {
- dispatch_async(dispatch_get_main_queue(), ^{
- if (stateCode == 0) {
- [weakSelf requestData];
- }
- });
- }];
- }
- if ([payTypeID isEqual:@"apple"]) {
- NSDictionary *iospayPostDic = @{@"chargeid":minstr([_seleDic valueForKey:@"id"]),
- @"coin":minstr([_seleDic valueForKey:@"coin_ios"]),
- @"money":minstr([_seleDic valueForKey:@"money"]),//
- };
- [YBRechargeType chargeManeger].productID = minstr([_seleDic valueForKey:@"product_id"]);
- [YBRechargeType chargeManeger].appleCallBackUrl = [h5url stringByAppendingFormat:@"/appapi/pay/notify_ios"];
- [[YBRechargeType chargeManeger]selApplePayUrl:@"Charge.getIosOrder" andParameter:iospayPostDic complete:^(int stateCode, int payType, NSString *msg) {
- dispatch_async(dispatch_get_main_queue(), ^{
- if (stateCode == 0) {
- [weakSelf requestData];
- }
- });
- }];
- }
- if ([payTypeID isEqual:@"paypal"]) {
- [[YBRechargeType chargeManeger]selPayPalAndPatameter:payPostDic rechargeType:rechargeType_coin complete:^(int stateCode, int payType, NSString *msg) {
- dispatch_async(dispatch_get_main_queue(), ^{
- if (stateCode == 0) {
- [weakSelf requestData];
- }
- });
- }];
- }
- }
- }
- - (void)eula{
- PubH5 *h5VC = [[PubH5 alloc]init];
- h5VC.url = [h5url stringByAppendingString:@"/portal/page/index?id=37"];
- [[YBBaseAppDelegate sharedAppDelegate]pushViewController:h5VC animated:YES];
-
- }
- @end
|