// // DRSearchCoupleWebViewController.m // YouHuiProject // // Created by 小花 on 2018/11/27. // Copyright © 2018年 kuxuan. All rights reserved. // #import "DRSearchCoupleWebViewController.h" #import #import #import #import #import #import "WebviewProgressLine.h" #import #import "DRFeedbackController.h" #import "WechatShareTool.h" #import "WYWeakScriptMessageDelegate.h" #import "DRLoginViewController.h" #import "DRGoodDetailModel.h" #import "DRShareImgPopView.h" #import "CCAlertShowView.h" #import "WebviewProgressLine.h" #import "DRShareRequestViewModel.h" #import "DRShareGoodViewController.h" @interface DRSearchCoupleWebViewController (){ NSString *_goodStr; } @property (nonatomic, strong) UIButton *backButton; @property (nonatomic, strong) UIButton *closeButton; @property (nonatomic, strong) UIButton *topbtn; @property (nonatomic, strong) DRGoodDetailModel *detailModel; @property (nonatomic, strong) DRSearchCoupleBottomView *bottomView; @property (nonatomic, strong) WebviewProgressLine *progress; @end @implementation DRSearchCoupleWebViewController - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [UIApplication sharedApplication].statusBarHidden = NO; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault]; } - (instancetype)init { self = [super init]; if (self) { self.webView.delegate = self; } return self; } - (void)viewDidLoad { [super viewDidLoad]; [self configNavigationBar]; [self configWebView]; [self openPage]; } - (void)configWebView { [self.view addSubview:self.webView]; [self.webView addSubview:self.topbtn]; [self.webView addSubview:self.bottomView]; [self.view addSubview:self.progress]; } - (void)openPage { id page = [AlibcTradePageFactory page:self.url]; //淘客信息 AlibcTradeTaokeParams *taoKeParams=[[AlibcTradeTaokeParams alloc] init]; taoKeParams.pid = ALTK_PID; //打开方式 AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init]; showParam.openType = AlibcOpenTypeH5; [[AlibcTradeSDK sharedInstance].tradeService show:self webView:self.webView page:page showParams:showParam taoKeParams:taoKeParams trackParam:nil tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable result) { } tradeProcessFailedCallback:^(NSError * _Nullable error) { }]; } - (void)configNavigationBar { self.view.backgroundColor = [UIColor whiteColor]; self.navigationBar.showNavigationBarBottomLine = YES; [self.navigationBar setCustomLeftButtons:@[self.backButton]]; } - (void)backAction { if (self.webView.canGoBack) { [self.webView goBack]; }else{ [self.navigationController popViewControllerAnimated:YES]; } } - (void)closeAction { [self.navigationController popViewControllerAnimated:YES]; } - (void)updateNavigationBarButtons { if (self.webView.canGoBack) { [self.navigationBar setCustomLeftButtons:@[self.backButton,self.closeButton]]; }else { [self.navigationBar setCustomLeftButtons:@[self.backButton]]; } } - (UIWebView *)webView { if (!_webView) { _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, NavBarHeight, SCREEN_WIDTH, SCREEN_HEIGHT-NavBarHeight-SafeBottomHeight)]; _webView.allowsInlineMediaPlayback = YES; } return _webView; } - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { return YES; } - (void)webViewDidStartLoad:(UIWebView *)webView { [LoadingView dismiss]; [self.topbtn setTitle:@"请点击底部页面【搜索优惠券】按钮" forState:UIControlStateNormal]; [self.topbtn setImage:[UIImage imageNamed:@"dianji-2"] forState:UIControlStateNormal]; self.topbtn.hidden = YES; self.bottomView.hidden = YES; UIButton *button =[self.topbtn viewWithTag:1111]; button.hidden=YES; [self.progress startLoadingAnimation]; } - (void)webViewDidFinishLoad:(UIWebView *)webView { [LoadingView dismiss]; [self.progress endLoadingAnimation]; NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];//获取当前页面的title [self.navigationBar setNavTitle:title]; [self updateNavigationBarButtons]; //获取详情页商品 if (self.jsString.length > 0) { [self.webView stringByEvaluatingJavaScriptFromString:self.jsString]; _goodStr = [self.webView stringByEvaluatingJavaScriptFromString:@"getIdH5()"]; if (_goodStr.length>0 && ![_goodStr isEqualToString:@"false"]) { self.bottomView.hidden = NO; self.topbtn.hidden = NO; [self.bottomView showSearch]; }else { self.bottomView.hidden = YES; self.topbtn.hidden = YES; } } } - (void)uploadGoodId { if (_goodStr.length > 0) { NSString *url = [NSString stringWithFormat:@"%@/api/v2/goods/tianmaoGoods",BaseURL]; NSDictionary *para = @{@"goods_id":_goodStr}; [LoadingView show]; [DRHttp post:url params:para success:^(id json) { self.detailModel = [DRGoodDetailModel yy_modelWithJSON:json]; self.bottomView.model=self.detailModel; UIButton *button =[self.topbtn viewWithTag:1111]; button.hidden=NO; if ([self.detailModel.isHasGoods boolValue]) { [self.topbtn setTitle:@"你也可以分享给好友哦" forState:UIControlStateNormal]; [self.bottomView showPay]; }else { [MBProgressHUD showMessage:@"该商品未参加优惠券活动"]; } self.topbtn.hidden = YES; [LoadingView dismiss]; } failure:^(NSError *error) { [LoadingView dismiss]; }]; } } #pragma mark ---------------- SearchCoupleBottomDelegate ------------ /** 找券 */ - (void)bottomViewSearchClick { [self uploadGoodId]; } /** 分享 */ - (void)bottomViewShareClick { if (self.detailModel) { [self showShareView:self.detailModel]; } } /** 购买 */ - (void)bottomViewPayClick { [self gobuy]; } - (void)showShareView:(DRGoodDetailModel *)detailModel { DetailRequestModel *requestModel = [[DetailRequestModel alloc] initWithId:detailModel.goods_id is_coupon:[NSString stringWithFormat:@"%@",detailModel.is_coupon] coupon_price:detailModel.coupon_price price:detailModel.price discount_price:detailModel.discount_price commission_rate:detailModel.commission_rate coupon_start_time:detailModel.start_time coupon_end_time:detailModel.end_time]; [LoadingView show]; [DRShareRequestViewModel requestGoodDetailParamGoods_id:requestModel success:^(DRShareInfoModel * _Nonnull infoModel, NSDictionary * _Nonnull dic) { [LoadingView dismiss]; DRShareGoodViewController *shareVc = [[DRShareGoodViewController alloc] init]; shareVc.goodModel = infoModel; [self.navigationController pushViewController:shareVc animated:YES]; } failure:^(NSError * _Nonnull error) { [LoadingView dismiss]; }]; // DRShareImgPopView *shareView = [[DRShareImgPopView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) goodModel:detailModel]; // CCAlertShowView *showView = [CCAlertShowView showAlertViewWithView:shareView backgroundDismissEnable:YES]; // shareView.closeAction = ^{ // [showView dismiss]; // }; // shareView.shareResult = ^(id result, NSError *error) { // if (!error) { // [self shareSuccManagerWithModel:detailModel]; // }else { // [MBProgressHUD showMessage:@"分享失败"]; // } // }; // showView.backgroundView.backgroundColor = [UIColor clearColor]; // [showView show]; } - (void)shareSuccManagerWithModel:(DRGoodDetailModel *)model { NSString *url = [NSString stringWithFormat:@"%@/api/v2/adzoneCreate/shareCount",BaseURL]; NSDictionary *para = @{@"goods_id":model.goods_id}; [DRHttp post:url params:para success:^(id json) { [MBProgressHUD showMessage:@"分享成功"]; } failure:^(NSError *error) { }]; } /** 领券 */ - (void)gobuy { NSString *goods_id = self.detailModel.goods_id==nil?@"":self.detailModel.goods_id; NSNumber *is_coupon = self.detailModel.is_coupon==nil?@(0):self.detailModel.is_coupon; NSString *path = self.name==nil?@"":self.name; NSDictionary *param = @{@"goods_id":goods_id, @"is_coupon":is_coupon, @"category_id":@"0", @"path":path, }; NSString *url = [NSString stringWithFormat:@"%@/api/v2/adzoneCreate/orderDown",BaseURL]; [LoadingView show]; [DRHttp post:url params:param success:^(id json) { if (url.length > 0) { [self jumpToTaobaoWithGoodsUrl:json[@"url"]]; } [LoadingView dismiss]; } failure:^(NSError *error) { [LoadingView dismiss]; [MBProgressHUD showMessage:@"加载失败"]; }]; } - (void)jumpToTaobaoWithGoodsUrl:(NSString *)url { id page = [AlibcTradePageFactory page:url]; //淘客信息 AlibcTradeTaokeParams *taoKeParams=[[AlibcTradeTaokeParams alloc] init]; taoKeParams.pid = ALTK_PID; // //打开方式 AlibcTradeShowParams* showParam = [[AlibcTradeShowParams alloc] init]; showParam.openType = AlibcOpenTypeNative; [[AlibcTradeSDK sharedInstance].tradeService show:self.navigationController page:page showParams:showParam taoKeParams:taoKeParams trackParam:nil tradeProcessSuccessCallback:^(AlibcTradeResult * _Nullable result) { } tradeProcessFailedCallback:^(NSError * _Nullable error) { }]; } #pragma mark ------ - (UIButton *)backButton { if (!_backButton) { _backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; [_backButton setImage:[UIImage imageNamed:@"back"] forState:UIControlStateNormal]; [_backButton addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside]; } return _backButton; } - (UIButton *)closeButton { if (!_closeButton) { _closeButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; [_closeButton setImage:[UIImage imageNamed:@"close_web"] forState:UIControlStateNormal]; [_closeButton addTarget:self action:@selector(closeAction) forControlEvents:UIControlEventTouchUpInside]; } return _closeButton; } -(UIButton *)topbtn { if (!_topbtn) { _topbtn =[[UIButton alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 44)]; _topbtn.backgroundColor=[UIColor YHColorWithHex:0xFFDFDF]; [_topbtn setTitleColor:[UIColor homeRedColor] forState:UIControlStateNormal]; _topbtn.titleLabel.text= @"请点击底部页面【搜索优惠券】按钮"; _topbtn.titleLabel.textAlignment=NSTextAlignmentCenter; _topbtn.titleLabel.font=[UIFont systemFontOfSize:15]; [_topbtn setImage:[UIImage imageNamed:@"dianji-2"] forState:UIControlStateNormal]; [_topbtn setButtonStyle:WSLButtonStyleImageLeft spacing:10]; _topbtn.hidden=YES; // UIButton *but =[[UIButton alloc]initWithFrame:CGRectMake(SCREEN_WIDTH-60, 0, 50, 44)]; // [but setImage:[UIImage imageNamed:@"fenxiang_red"] forState:UIControlStateNormal]; // [_topbtn addSubview:but]; // but.tag=1111; // [but addTarget:self action:@selector(sharegoods) forControlEvents:UIControlEventTouchUpInside]; // but.hidden=YES; } return _topbtn; } -(void)sharegoods { [self showShareView:self.detailModel]; } - (DRSearchCoupleBottomView *)bottomView { if (!_bottomView) { _bottomView = [[DRSearchCoupleBottomView alloc] initWithFrame:CGRectMake(0, self.webView.height-50, SCREEN_WIDTH, 50)]; [_bottomView showSearch]; _bottomView.backgroundColor=[UIColor whiteColor]; _bottomView.hidden = YES; _bottomView.delegate = self; } return _bottomView; } - (WebviewProgressLine *)progress { if (!_progress) { _progress = [[WebviewProgressLine alloc] initWithFrame:CGRectMake(0, NavBarHeight, SCREEN_WIDTH, 2)]; _progress.lineColor = [UIColor homeRedColor]; } return _progress; } @end