From c0406498669937d2493a0d38918008a0526c12fd Mon Sep 17 00:00:00 2001 From: PH2 <1293456824@qq.com> Date: Mon, 16 Nov 2020 16:01:20 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81Android=20=E6=8B=BC=E5=A4=9A=E5=A4=9A?= =?UTF-8?q?webView=E9=87=8D=E5=AE=9A=E5=90=91=E9=97=AE=E9=A2=98=202?= =?UTF-8?q?=E3=80=81=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E5=88=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/webview/base_webview.dart | 19 ++++++++++++++++++- .../goods_details/coupon/counpon_widget.dart | 6 +++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lib/pages/webview/base_webview.dart b/lib/pages/webview/base_webview.dart index 517251c..6bc77db 100644 --- a/lib/pages/webview/base_webview.dart +++ b/lib/pages/webview/base_webview.dart @@ -1,5 +1,11 @@ +import 'dart:io'; + import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:zhiying_base_widget/pages/launch_page/launch_page.dart'; +import 'package:zhiying_comm/util/log/let_log.dart'; +import 'package:zhiying_comm/util/empty_util.dart'; +import 'package:url_launcher/url_launcher.dart'; import 'package:webview_flutter/webview_flutter.dart'; class BaseWebview extends StatefulWidget { @@ -33,7 +39,18 @@ class _BaseWebviewState extends State { onWebViewCreated: (WebViewController webViewController) { _webViewController = webViewController; }, - navigationDelegate: (NavigationRequest request) { + navigationDelegate: (NavigationRequest request) async{ + // 解决Android的拼多多webview 转发的问题 + if(Platform.isAndroid){ + String url = request?.url?.toString(); + if(!EmptyUtil.isEmpty(url) && !url.startsWith('https://') && !url.startsWith('http://')){ + Logger.log('navigation url = $url'); + // if(await canLaunch(url)){ + // await launch(url); + // } + return NavigationDecision.prevent; + } + } return NavigationDecision.navigate; }, onPageStarted: (String url) { diff --git a/lib/widgets/goods_details/coupon/counpon_widget.dart b/lib/widgets/goods_details/coupon/counpon_widget.dart index cfd6107..441f055 100644 --- a/lib/widgets/goods_details/coupon/counpon_widget.dart +++ b/lib/widgets/goods_details/coupon/counpon_widget.dart @@ -58,7 +58,7 @@ class _CounponWidgetContainerState extends State { /// 点击领取 void _onJump(CounponModel model) async{ - TurnChainUtil.openReceiveCoupon(context, _user, model.provider, model.toJson()); + TurnChainUtil.openReceiveCoupon(context, _user, model.provider, model?.convertArgs?.toJson()); } @override @@ -73,7 +73,7 @@ class _CounponWidgetContainerState extends State { }, builder: (context, state) { if (state is CounponLoadedState) { - return _getMainWdiget(state.model); + return _getMainWidget(state.model); } return CounponSkeleton(); }, @@ -81,7 +81,7 @@ class _CounponWidgetContainerState extends State { } /// 主视图 - Widget _getMainWdiget(CounponModel model) { + Widget _getMainWidget(CounponModel model) { return Visibility( visible: !EmptyUtil.isEmpty(model?.coupon_price), child: GestureDetector(