WallPaper_FSX_Flutter/lib/modules/web_page/web_page_controller.dart
2024-05-13 13:44:27 +08:00

39 lines
1.2 KiB
Dart

import 'package:get/get.dart';
import 'package:wallpaper/common/components/view_state_widget.dart';
import 'package:webview_flutter/webview_flutter.dart';
class WebPageController extends GetxController {
var title = '';
var url = '';
late final WebViewController webViewController;
var viewState = ViewState.loading.obs;
@override
void onInit() {
super.onInit();
title = Get.arguments['title'];
url = Get.arguments['url'] ?? 'https://flutter.cn';
webViewController = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setBackgroundColor(Get.theme.scaffoldBackgroundColor)
..setNavigationDelegate(
NavigationDelegate(
onProgress: (int progress) {
// Update loading bar.
},
onPageStarted: (String url) {},
onPageFinished: (String url) {
viewState.value = ViewState.normal;
},
onWebResourceError: (WebResourceError error) {
viewState.value = ViewState.error;
},
onNavigationRequest: (NavigationRequest request) {
return NavigationDecision.navigate;
},
),
)
..loadRequest(Uri.parse(url));
}
}