diff --git a/lib/pages/main_bottom/component/main_page_b_bottom_change.dart b/lib/pages/main_bottom/component/main_page_b_bottom_change.dart index 9c97dc6..ea93d92 100644 --- a/lib/pages/main_bottom/component/main_page_b_bottom_change.dart +++ b/lib/pages/main_bottom/component/main_page_b_bottom_change.dart @@ -1,15 +1,18 @@ +import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:vbvs_app/pages/common/bezier_bottom_navigation_bar.dart'; import 'package:vbvs_app/pages/mh_page/MattressControl.dart'; import 'package:vbvs_app/pages/mh_page/homepage/mht_sleep_report_page.dart'; import 'package:vbvs_app/pages/mh_page/homepage/new_Home_page.dart'; import 'package:vbvs_app/pages/mh_page/new_mine_page.dart'; +import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart'; class MainPageBBottomChange extends StatefulWidget { // 全局 key,用于静态访问 _HomePageState - static final GlobalKey<_HomePageState> globalKey = GlobalKey<_HomePageState>(); + static final GlobalKey<_HomePageState> globalKey = + GlobalKey<_HomePageState>(); - MainPageBBottomChange({Key? key}) : super(key: globalKey); + MainPageBBottomChange({Key? key}) : super(key: globalKey); // 静态方法:外部调用,跳转 tab static void jumpTo(int index) { @@ -23,7 +26,6 @@ class MainPageBBottomChange extends StatefulWidget { _HomePageState createState() => _HomePageState(); } - class _HomePageState extends State with SingleTickerProviderStateMixin { int selectedIndex = 0; @@ -68,6 +70,7 @@ class _HomePageState extends State void _onTabTapped(int index) { setState(() { + dealWebSource(index); final begin = currentPosition; final end = index.toDouble(); _positionAnimation = Tween(begin: begin, end: end).animate( @@ -110,21 +113,31 @@ class _HomePageState extends State } void switchTab(int index) { - final begin = currentPosition; - final end = index.toDouble(); + final begin = currentPosition; + final end = index.toDouble(); - _positionAnimation = Tween(begin: begin, end: end).animate( - CurvedAnimation(parent: _controller, curve: Curves.easeOut), - )..addListener(() { - setState(() {}); + _positionAnimation = Tween(begin: begin, end: end).animate( + CurvedAnimation(parent: _controller, curve: Curves.easeOut), + )..addListener(() { + setState(() {}); + }); + + _controller.forward(from: 0.0); + currentPosition = end; + + setState(() { + selectedIndex = index; }); - - _controller.forward(from: 0.0); - currentPosition = end; - - setState(() { - selectedIndex = index; - }); -} - + } + + Future dealWebSource(int index) async { + WebviewTestController webviewTestController = Get.find(); + if (index == 2) { + await webviewTestController.web.jsbridge?.dart + .pageActive(); + }else{ + await webviewTestController.web.jsbridge?.dart + .pageInActive(); + } + } } diff --git a/lib/pages/mh_page/device/mht_wifi_page.dart b/lib/pages/mh_page/device/mht_wifi_page.dart index f0e93c9..c2d033e 100644 --- a/lib/pages/mh_page/device/mht_wifi_page.dart +++ b/lib/pages/mh_page/device/mht_wifi_page.dart @@ -67,17 +67,12 @@ class _MHTWifiPageState extends State { blueteethBindController.updateAll(); } + @override @override void dispose() { _isDisposed = true; _cleanupResources(); - try { - THapp bledevice = THapp(device: widget.deviceInfo.scanResult.device); - bledevice.disconnect(); - DailyLogUtils.writeLog("关闭蓝牙连接成功"); - } catch (e) { - DailyLogUtils.writeError("关闭蓝牙连接失败"); - } + _disconnectDevice(); super.dispose(); } @@ -1105,4 +1100,14 @@ class _MHTWifiPageState extends State { onFailure: (res) {}, ); } + + void _disconnectDevice() async { + try { + THapp bledevice = THapp(device: widget.deviceInfo.scanResult.device); + await bledevice.disconnect(); + DailyLogUtils.writeLog("关闭蓝牙连接成功"); + } catch (e) { + DailyLogUtils.writeError("关闭蓝牙连接失败: $e"); + } + } } diff --git a/lib/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart b/lib/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart index 16fbdeb..172781f 100644 --- a/lib/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart +++ b/lib/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart @@ -2,6 +2,7 @@ import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:flutterflow_ui/flutterflow_ui.dart'; import 'package:vbvs_app/common/color/appConstants.dart'; +import 'package:vbvs_app/common/util/DailyLogUtils.dart'; import 'package:vbvs_app/common/util/FitTool.dart'; import 'package:vbvs_app/component/tool/CustomCard.dart'; import 'package:vbvs_app/component/tool/TopSlideNotification.dart'; @@ -80,17 +81,17 @@ class _HomeDeviceStausWidgetState extends State { WebviewTestController webviewTestController = Get.find(); var future = webviewTestController.web.jsbridge?.dart .appToHtmlDevice(device); - Future.delayed(Duration(seconds: 5), () { + Future.delayed(Duration(seconds: 5), () { return; }); - - await future; + await future; + await webviewTestController.web.jsbridge?.dart + .pageActive(); MainPageBBottomChange.jumpTo(2); } catch (e) { - print("发生异常: $e"); + DailyLogUtils.writeError("发生异常: $e"); } }, - colors: AppConstants().mhtButtongradientColors, // 你原本没有渐变,单色即可 enableGradient: true, // 关闭渐变