import 'package:star_lock/mine/mall/lockMall_entity.dart'; import 'package:star_lock/mine/mall/lockMall_state.dart'; import 'package:star_lock/network/api_repository.dart'; import 'package:webview_flutter/webview_flutter.dart'; import '../../tools/baseGetXController.dart'; class LockMallLogic extends BaseGetXController { final LockMallState state = LockMallState(); //获取商城跳转地址 Future getMallURLRequest() async { LockMallDataEntity entity = await ApiRepository.to.getMallURLData(); if (entity.errorCode!.codeIsSuccessful) { state.lockMallUrl.value = entity.data!.url!; state.mallWebView.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) { // if (request.url.startsWith('https://www.youtube.com/')) { // return NavigationDecision.prevent; // } return NavigationDecision.navigate; }, ), ); state.mallWebView.loadRequest(Uri.parse(state.lockMallUrl.value)); } } @override Future onReady() async { print("ready home"); super.onReady(); } @override void onInit() { print("init home"); super.onInit(); getMallURLRequest(); } @override void onClose() { print("close home"); super.onClose(); } }