From 6cea9b3a38d2afb7b8781db173781ae7489d1d4f Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Sat, 4 May 2024 10:33:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=AB=98=E7=BA=A7=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=9D=83=E7=9B=8A=E5=86=85=E5=AE=B9=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../XSConstantMacro/XSConstantMacro.dart | 2 ++ .../lib/mine/about/webviewShow_logic.dart | 20 +++++++++++++++++++ .../lib/mine/about/webviewShow_page.dart | 17 +++++++++++++++- .../lib/mine/about/webviewShow_state.dart | 1 + .../valueAddedServicesHighFunction_page.dart | 8 +++++++- 5 files changed, 46 insertions(+), 2 deletions(-) diff --git a/star_lock/lib/common/XSConstantMacro/XSConstantMacro.dart b/star_lock/lib/common/XSConstantMacro/XSConstantMacro.dart index f66cb8a3..a3d32886 100644 --- a/star_lock/lib/common/XSConstantMacro/XSConstantMacro.dart +++ b/star_lock/lib/common/XSConstantMacro/XSConstantMacro.dart @@ -12,6 +12,8 @@ class XSConstantMacro { '$baseWebURL/app/thirdPartyInformationSharingList'; //第三方信息共享清单 static String appPermissionDescURL = '$baseWebURL/app/applicationPermissionDescription'; //应用权限说明 + static String vipServiceDetailURL = + '$baseWebURL/value-added/vip-intro'; //增值服务特权详情页 // 钥匙类型 keyType 1-永久 2-限期 3-单次 4-循环 static int keyTypeLong = 1; diff --git a/star_lock/lib/mine/about/webviewShow_logic.dart b/star_lock/lib/mine/about/webviewShow_logic.dart index be433070..4f01d21d 100644 --- a/star_lock/lib/mine/about/webviewShow_logic.dart +++ b/star_lock/lib/mine/about/webviewShow_logic.dart @@ -1,4 +1,5 @@ import 'package:star_lock/mine/about/webviewShow_state.dart'; +import 'package:webview_flutter/webview_flutter.dart'; import '../../tools/baseGetXController.dart'; @@ -8,6 +9,25 @@ class WebviewShowLogic extends BaseGetXController { @override Future onReady() async { super.onReady(); + + state.webViewController.setNavigationDelegate( + NavigationDelegate( + onProgress: (int progress) { + // Update loading bar. + state.webProgress.value = progress / 100; + }, + onPageStarted: (String url) { + state.webProgress.value = 0.0; + }, + onPageFinished: (String url) { + state.webProgress.value = 1.0; + }, + onWebResourceError: (WebResourceError error) {}, + onNavigationRequest: (NavigationRequest request) async { + return NavigationDecision.navigate; + }, + ), + ); } @override diff --git a/star_lock/lib/mine/about/webviewShow_page.dart b/star_lock/lib/mine/about/webviewShow_page.dart index ddc8c21f..baa7d3ce 100644 --- a/star_lock/lib/mine/about/webviewShow_page.dart +++ b/star_lock/lib/mine/about/webviewShow_page.dart @@ -38,7 +38,22 @@ class _WebviewShowPageState extends State { haveBack: true, backgroundColor: AppColors.mainColor, ), - body: WebViewWidget(controller: state.webViewController)); + body: Obx(() => Column( + children: [ + Container( + padding: EdgeInsets.only(bottom: 10.w), + child: LinearProgressIndicator( + value: state.webProgress.value, + backgroundColor: Colors.grey, + valueColor: + AlwaysStoppedAnimation(AppColors.mainColor), + ), + ), + Expanded( + child: WebViewWidget(controller: state.webViewController), + ), + ], + ))); } Widget xhjView() { diff --git a/star_lock/lib/mine/about/webviewShow_state.dart b/star_lock/lib/mine/about/webviewShow_state.dart index 40d37a4d..fde33736 100644 --- a/star_lock/lib/mine/about/webviewShow_state.dart +++ b/star_lock/lib/mine/about/webviewShow_state.dart @@ -6,6 +6,7 @@ class WebviewShowState { ..setJavaScriptMode(JavaScriptMode.unrestricted); var webURL = ''; var webTitle = ''; + var webProgress = 0.0.obs; WebviewShowState() { Map map = Get.arguments; diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart index aff681e2..0e2c6284 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_page.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesHighFunction/valueAddedServicesHighFunction_logic.dart'; import '../../../appRouters.dart'; @@ -151,7 +152,12 @@ class _ValueAddedServicesHighFunctionPageState height: 10.h, ), GestureDetector( - onTap: () {}, + onTap: () { + Navigator.pushNamed(context, Routers.webviewShowPage, arguments: { + "url": XSConstantMacro.vipServiceDetailURL, + "title": '权益内容'.tr + }); + }, child: Container( margin: EdgeInsets.only(left: 20.w, right: 20.w), decoration: BoxDecoration(