From 8c27f0b26c4bc48711f03d68cec6f3d79cb120ca Mon Sep 17 00:00:00 2001 From: wyf <494641114@qq.com> Date: Sun, 22 Jun 2025 12:04:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main.dart | 4 +- lib/pages/mh_page/test/WebviewTestModel.dart | 41 ++++++++++++++++---- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index dc7035e..60faf3d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -69,6 +69,7 @@ import 'package:vbvs_app/pages/mh_page/MattressControl.dart'; import 'package:vbvs_app/pages/mh_page/device/component/mht_device_calibration_controller.dart'; import 'package:vbvs_app/pages/mh_page/device/controller/mht_bluetooth_controller.dart'; import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart'; +import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart'; import 'package:vbvs_app/pages/mh_page/user/controller/mht_login_controller.dart'; import 'package:vbvs_app/pages/mh_page/user/controller/mht_register_controller.dart'; import 'package:vbvs_app/pages/mh_page/user/controller/update_password_controller.dart'; @@ -96,7 +97,6 @@ Future main() async { await initLocalStorage(); initEasyDartModule(); await initLogin(); - await initLog(); await messageStatus(); startMessagePolling(); @@ -194,7 +194,7 @@ void initEasyDartModule() { //初始化 } -initLog() {} + Future initLogin() async { // 初始化控制器 diff --git a/lib/pages/mh_page/test/WebviewTestModel.dart b/lib/pages/mh_page/test/WebviewTestModel.dart index 752ffc8..f78c609 100644 --- a/lib/pages/mh_page/test/WebviewTestModel.dart +++ b/lib/pages/mh_page/test/WebviewTestModel.dart @@ -16,6 +16,8 @@ class WebviewTestModel { } class WebviewTestController extends GetControllerEx { + var selectDevice; + var bluetooth = false; WebviewTestController() : super(WebviewTestModel()) { web = WebviewHelper( jsbridge: buildsdk( @@ -29,13 +31,34 @@ class WebviewTestController extends GetControllerEx { url: WebUri( 'https://wyf.it.real.he-info.cn:94/goods-front/index.html'), ), - onLoadStop: (controller, url) => {setState(() => ready.value = true)}, + onLoadStop: (controller, url) { + setState(() => ready.value = true); + MHTHomeController deviceController = Get.find(); + web.jsbridge!.dart + .updateDeviceList(deviceController.deviceList.values); + }, ), ); try { web.jsbridge!.bind((bridge) { var minible = Minibleapp(bridge: bridge); - // minible.bridge.sdk.ble.scanenable(5); + // ef.kvroot.devicelist.listen((x) {}); + bridge.sdk.updateDeviceRoute((args) async { + ef.log('updateDeviceRoute: $args'); + selectDevice['blueToothStatus'] = bluetooth; + Get.toNamed("$args[0]", arguments: selectDevice); + return true; + }); + bridge.sdk.selectDevice((args) { + ef.log('selectDevice: $args'); + selectDevice = args[0]; + return true; + }); + bridge.sdk.updateBlueToothStatus((args) { + ef.log('updateBlueToothStatus: $args'); + bluetooth = args[0]; + return true; + }); }); web //.file( @@ -45,7 +68,6 @@ class WebviewTestController extends GetControllerEx { .network() .then((value) { if (value) { - //资源准备完成.. setState(() { ready.value = true; }); @@ -68,7 +90,14 @@ class WebviewTestView extends GetComponent { Widget build(BuildContext context) { UserInfoController userInfoController = Get.find(); MHTHomeController deviceController = Get.find(); - deviceController.getDeviceList(group: 'room'); + deviceController.getDeviceList(group: 'room').then((x) { + if (controller.web.jsbridge!.inited) { + //发送测试消息给webview + controller.web.jsbridge!.dart + .updateDeviceList(deviceController.deviceList.values); + } + }); + return Scaffold( backgroundColor: Colors.black12, body: Column( @@ -90,9 +119,7 @@ class WebviewTestView extends GetComponent { ), ); } - WebviewTestController webviewTestController = Get.find(); - var dataList = deviceController.deviceList.value; - webviewTestController.web.jsbridge!.dart.updateDeviceList(dataList); + return Expanded( child: Align( alignment: Alignment.topLeft,