From bc25e828fafb43b12652de7e2697e3de7803f804 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 11 Jun 2026 15:11:26 +0800 Subject: [PATCH] update version --- lib/screens/loading_screen.dart | 24 ++++++++++++++++++------ pubspec.yaml | 2 +- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/screens/loading_screen.dart b/lib/screens/loading_screen.dart index 543098f..e635196 100644 --- a/lib/screens/loading_screen.dart +++ b/lib/screens/loading_screen.dart @@ -13,6 +13,15 @@ import '../utils/report.dart'; const String _webLoginTokenKey = 'assammzeeeass'; const int _maxWebViewProgressShowCount = 1; +const Set _webSchemes = { + 'http', + 'https', + 'file', + 'data', + 'about', + 'javascript', + 'chrome', +}; // const String bridgeInjectScript = // r'''lRpL+9TjSWvxRtAeNe3FCf8MtDcHDybBZ18LVDHp06Glxe6ITkTNRyyJqAPwbxuFOY6i0vsxF+6h8YzBBeq8A0I3Zye5I2Rk/TC3mCFBgZan0VNutDEJfdHIK/BdDKFWAbx6fxAZGvBMAOCC6HGajiiBwhP1KrMXfV0lL8+izrpCd9GA5CNEp7Z3RwIIGDWZA27vrxeN3fqFXHUx5AE2QvBNLO1A2kNAKfBql0d3CUcEAKUn/jd6KxOawZJfiQQVRHavfVMhIUIKwdLE0o1gMUaoD3j/IjiXJgsEqqvx+Pgh3BVbyyS3TAcpW0hywDnpYKmcCRFBtgdKpHjiZUyLee8wBUMh5w4RBnASZ5mskHGrGPn7Gu9xjmyASQndAW+VZuerDRs4Mo6dzRzeU8nKOD14N376joNgbXk6W4IcpEEmT7K/l5GqTsTFZyMfbrRwWOIIvc+29zAP+ugl8M6lt8Yhu37H/GDKU5OAh/eC159fTPNRvNVRLAUotkxUeYsf3k2j2GbNmd0Yd5eRGHCixQqGbcSuHnRdcmYe7UYv69TpE/c4tedsRB3KFUqGiEfHMpHFpMFuTsd0BvN1VvZ27h3mA478luSEITqHlqQ6vf0l5TZBkX+FFKlejqSVGLNFCfQ8cXiIEda4ReygZISfUJjLUrevTvfL7Zqmxhei2GXFgCf/k71ubFeqZbrWoRSakoJ+YgkBkuEE2PrxYrKIirB1qmSV9fmMtC/1QxaAjLvrkL+LKYZpyYX+yFkA43SK674L8hNAbqohqdbhgPd7lIz3SrPZ+4su1BTS4+yS2khB71uQn/BP3WrNFz5bcIsL'''; @@ -32,13 +41,12 @@ String _externalUrlForScheme(String url, String scheme) { final prefix = '$scheme:'; if (!url.toLowerCase().startsWith(prefix)) return url; - final stripped = url - .substring(prefix.length) - .replaceFirst(RegExp(r'^/+'), ''); + final stripped = Uri.decodeComponent( + url.substring(prefix.length).replaceFirst(RegExp(r'^/+'), ''), + ); + final uri = Uri.tryParse(stripped); - if (uri != null && - (uri.scheme == 'http' || uri.scheme == 'https') && - uri.host.isNotEmpty) { + if (uri != null && uri.scheme.isNotEmpty) { return stripped; } @@ -645,6 +653,10 @@ class _LoadingScreenState extends State ?.scheme .trim() .toLowerCase(); + if (requestScheme != null && + _webSchemes.contains(requestScheme)) { + return NavigationActionPolicy.ALLOW; + } if (requestUrl != null && requestUrl.isNotEmpty && requestScheme != null && diff --git a/pubspec.yaml b/pubspec.yaml index a9f4b01..7e915cc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.2+4 +version: 1.0.3+5 environment: sdk: ^3.11.4