feat(http):http webview top

This commit is contained in:
2025-12-22 11:26:28 +08:00
parent ff3c7402a9
commit 3e2f011463

View File

@@ -45,91 +45,94 @@ class _CustomerWebViewState extends State<CustomerWebView> {
return Stack( return Stack(
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
children: [ children: [
InAppWebView( Padding(
key: webViewKey, padding: const EdgeInsets.only(top: 16,bottom: 16),
// webViewEnvironment: webViewEnvironment, child: InAppWebView(
initialUrlRequest: URLRequest(url: WebUri(widget.url)), key: webViewKey,
// initialUrlRequest: // webViewEnvironment: webViewEnvironment,
// URLRequest(url: WebUri(Uri.base.toString().replaceFirst("/#/", "/") + 'page.html')), initialUrlRequest: URLRequest(url: WebUri(widget.url)),
// initialFile: "assets/index.html", // initialUrlRequest:
initialUserScripts: UnmodifiableListView<UserScript>([]), // URLRequest(url: WebUri(Uri.base.toString().replaceFirst("/#/", "/") + 'page.html')),
initialSettings: settings, // initialFile: "assets/index.html",
// contextMenu: contextMenu, initialUserScripts: UnmodifiableListView<UserScript>([]),
// pullToRefreshController: pullToRefreshController, initialSettings: settings,
onWebViewCreated: (controller) async { // contextMenu: contextMenu,
webViewController = controller; // pullToRefreshController: pullToRefreshController,
}, onWebViewCreated: (controller) async {
onLoadStart: (controller, url) { webViewController = controller;
setState(() { },
// this.url = url.toString(); onLoadStart: (controller, url) {
// urlController.text = this.url; setState(() {
}); // this.url = url.toString();
}, // urlController.text = this.url;
// onPermissionRequest: (controller, request) { });
// return PermissionResponse( },
// resources: request.resources, // onPermissionRequest: (controller, request) {
// action: PermissionResponseAction.GRANT); // return PermissionResponse(
// }, // resources: request.resources,
// shouldOverrideUrlLoading: // action: PermissionResponseAction.GRANT);
// (controller, navigationAction) async { // },
// var uri = navigationAction.request.url!; // shouldOverrideUrlLoading:
// // (controller, navigationAction) async {
// if (![ // var uri = navigationAction.request.url!;
// "http", //
// "https", // if (![
// "file", // "http",
// "chrome", // "https",
// "data", // "file",
// "javascript", // "chrome",
// "about" // "data",
// ].contains(uri.scheme)) { // "javascript",
// if (await canLaunchUrl(uri)) { // "about"
// // Launch the App // ].contains(uri.scheme)) {
// await launchUrl( // if (await canLaunchUrl(uri)) {
// uri, // // Launch the App
// ); // await launchUrl(
// // and cancel the request // uri,
// return NavigationActionPolicy.CANCEL; // );
// } // // and cancel the request
// } // return NavigationActionPolicy.CANCEL;
// // }
// return NavigationActionPolicy.ALLOW; // }
// }, //
// onLoadStop: (controller, url) { // return NavigationActionPolicy.ALLOW;
// pullToRefreshController?.endRefreshing(); // },
// setState(() { // onLoadStop: (controller, url) {
// this.url = url.toString(); // pullToRefreshController?.endRefreshing();
// urlController.text = this.url; // setState(() {
// }); // this.url = url.toString();
// }, // urlController.text = this.url;
// onReceivedError: (controller, request, error) { // });
// pullToRefreshController?.endRefreshing(); // },
// }, // onReceivedError: (controller, request, error) {
// onProgressChanged: (controller, progress) { // pullToRefreshController?.endRefreshing();
// if (progress == 100) { // },
// pullToRefreshController?.endRefreshing(); // onProgressChanged: (controller, progress) {
// } // if (progress == 100) {
// setState(() { // pullToRefreshController?.endRefreshing();
// this.progress = progress / 100; // }
// urlController.text = this.url; // setState(() {
// }); // this.progress = progress / 100;
// }, // urlController.text = this.url;
// onUpdateVisitedHistory: (controller, url, isReload) { // });
// setState(() { // },
// this.url = url.toString(); // onUpdateVisitedHistory: (controller, url, isReload) {
// urlController.text = this.url; // setState(() {
// }); // this.url = url.toString();
// }, // urlController.text = this.url;
onConsoleMessage: (controller, consoleMessage) { // });
print(consoleMessage); // },
}, onConsoleMessage: (controller, consoleMessage) {
print(consoleMessage);
},
),
), ),
Visibility( Visibility(
visible: widget.hideBack != true, visible: widget.hideBack != true,
child: GestureDetector( child: GestureDetector(
onTap: () => Navigator.pop(context), onTap: () => Navigator.pop(context),
child: Container( child: Container(
margin: const EdgeInsets.only(left: 16, top: 24), margin: const EdgeInsets.only(left: 16, top: 28),
width: 44, width: 44,
height: 44, height: 44,
decoration: BoxDecoration( decoration: BoxDecoration(