更新设备控制
This commit is contained in:
110
lib/pages/mh_page/test/WebviewTestModel.dart
Normal file
110
lib/pages/mh_page/test/WebviewTestModel.dart
Normal file
@@ -0,0 +1,110 @@
|
||||
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<WebviewTestModel> {
|
||||
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<WebviewTestController> {
|
||||
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(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user