import 'package:easyweb/easyweb.dart'; import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:easyweb/base/minisdk.dart'; import 'package:easydevice/easydevice.dart'; class WebviewTestModel { WebviewTestModel(); //EasyFlutter Start[Model] //EasyFlutter End } class WebviewTestController extends GetControllerEx { WebviewTestController() : super(WebviewTestModel()) { web = WebviewHelper( jsbridge: buildsdk( father: this, clientId: '494641114', //dbgserverUrl: 'ws://192.168.1.2:9001', ), settings: buildsettings(), params: PlatformHeadlessInAppWebViewCreationParams( initialUrlRequest: URLRequest( url: WebUri('https://wsl.it.real.he-info.cn:94/webdemo/index.html'), ), onLoadStop: (controller, url) => {setState(() => ready.value = true)}, ), ); try { web.jsbridge!.bind((bridge) { Minibleapp(bridge: bridge); }); web //.file( // url: 'https://wsl.it.real.he-info.cn:94/webdemo/web.zip', // pretag: 'https://wsl.it.real.he-info.cn:94/webdemo/', //) .network() .then((value) { if (value) { //资源准备完成.. setState(() { ready.value = true; }); } }); } catch (e, s) { ef.log('$e,$s'); } } late WebviewHelper web; var ready = false.obs; var cnt = 0.obs; //EasyFlutter End } class WebviewTestView extends GetComponent { WebviewTestView({super.key, super.oncreate}); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.black12, body: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ Align( alignment: Alignment.topLeft, child: Padding( padding: EdgeInsets.all(8), child: SizedBox( height: 30, child: TextButton( onPressed: () { setState(() => controller.cnt.value++); // Get.to( // () => TestInkWellView( // oncreate: (x) => TestInkWellController(), // ), // ); }, child: Text('转跳'), ), ), ), ), Expanded( child: Align( alignment: Alignment.topLeft, child: controller.ready.value ? ((controller.cnt.value % 2 == 0) ? controller.web.build( key: ValueKey("A"), headless: false, ) : controller.web.build( key: ValueKey("B"), headless: false, )) : Container(), ), ), ], ), ); } }