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 ea93d92..12d1f4e 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 @@ -22,6 +22,11 @@ class MainPageBBottomChange extends StatefulWidget { } } + static int? getCurrentIndex() { + final state = globalKey.currentState; + return state?.selectedIndex; + } + @override _HomePageState createState() => _HomePageState(); } @@ -129,15 +134,13 @@ class _HomePageState extends State 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(); - } + await webviewTestController.web.jsbridge?.dart.pageActive(); + } else { + await webviewTestController.web.jsbridge?.dart.pageInActive(); + } } } diff --git a/lib/pages/mh_page/MattressControl.dart b/lib/pages/mh_page/MattressControl.dart index 826a1de..38f0f87 100644 --- a/lib/pages/mh_page/MattressControl.dart +++ b/lib/pages/mh_page/MattressControl.dart @@ -3,8 +3,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:flutter_switch/flutter_switch.dart'; import 'package:vbvs_app/common/util/FitTool.dart'; -import 'package:vbvs_app/common/util/MyUtils.dart'; -import 'package:vbvs_app/component/tool/ClickableContainer.dart'; import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart'; class MattressControlPage extends StatefulWidget { diff --git a/lib/pages/mh_page/device/component/DeviceComponentWidget.dart b/lib/pages/mh_page/device/component/DeviceComponentWidget.dart index 26a4cc2..869f095 100644 --- a/lib/pages/mh_page/device/component/DeviceComponentWidget.dart +++ b/lib/pages/mh_page/device/component/DeviceComponentWidget.dart @@ -507,7 +507,7 @@ class _DeviceComponentWidgetState extends State { blueteethBindController.blueConnectFlag.value = 2; blueteethBindController.currentDevice = bledevice; - await Future.delayed(Duration(seconds: 1)); + await Future.delayed(Duration(seconds: 2)); var read = bledevice.getresource('fff0/fff1'); await read!.characteristic.setNotifyValue(true); var write = bledevice.getresource('fff0/fff2'); diff --git a/lib/pages/mh_page/homepage/controller/mht_home_controller.dart b/lib/pages/mh_page/homepage/controller/mht_home_controller.dart index 64ad167..d7252f9 100644 --- a/lib/pages/mh_page/homepage/controller/mht_home_controller.dart +++ b/lib/pages/mh_page/homepage/controller/mht_home_controller.dart @@ -560,4 +560,79 @@ class MHTHomeController extends GetControllerEx { }, ); } + + //开启定时器 + void startTimer(args) { + var tmp = args[0]; + String serviceAddress = ServiceConstant.service_address; + String serviceName = ServiceConstant.server_service; + String serviceApi = ServiceConstant.user_setting; + String type = "control_${tmp['mac']}"; + String queryUrl = "${serviceAddress}${serviceName}${serviceApi}"; + var data = { + "type": type, + "duration": tmp['duration'], + "mac": tmp['mac'], + "time": tmp['startTime'], + }; + requestWithLog( + logTitle: "更新控制倒计时", + method: MyHttpMethod.put, + queryUrl: queryUrl, + data: data, + onSuccess: (res) {}); + } + + //关闭定时器 + void cancelTimer(args) { + var tmp = args[0]; + String serviceAddress = ServiceConstant.service_address; + String serviceName = ServiceConstant.server_service; + String serviceApi = ServiceConstant.user_setting; + String type = "control_${tmp['mac']}"; + String queryUrl = "${serviceAddress}${serviceName}${serviceApi}"; + var data = { + "type": type, + "duration": 0, + "mac": tmp['mac'], + "time": tmp['startTime'], + }; + requestWithLog( + logTitle: "查询控制倒计时", + method: MyHttpMethod.put, + queryUrl: queryUrl, + data: data, + onSuccess: (res) {}); + } + + //恢复 + restoreTimer(args) async { + var data = {}; + try { + var tmp = args[0]; + String serviceAddress = ServiceConstant.service_address; + String serviceName = ServiceConstant.server_service; + String serviceApi = ServiceConstant.user_setting; + String type = "control_${tmp}"; + String queryUrl = + "${serviceAddress}${serviceName}${serviceApi}?type=$type"; + await requestWithLog( + logTitle: "查询控制倒计时", + method: MyHttpMethod.get, + queryUrl: queryUrl, + onSuccess: (res) { + if (res.data != null) { + data = res.data; + } + }, + onFailure: (res) { + data = {}; + }, + ); + } catch (e) { + ef.log("$e"); + } + + return data; + } } diff --git a/lib/pages/mh_page/homepage/mht_sleep_report_page.dart b/lib/pages/mh_page/homepage/mht_sleep_report_page.dart index 5c029b3..681bbe9 100644 --- a/lib/pages/mh_page/homepage/mht_sleep_report_page.dart +++ b/lib/pages/mh_page/homepage/mht_sleep_report_page.dart @@ -271,6 +271,7 @@ class _MhtSleepReportPageState extends State { 'backgroundImg': 'assets/images/new_background.png', 'arrow': false, + 'noBackImg':true, }, ), ); diff --git a/lib/pages/mh_page/homepage/new_Home_page.dart b/lib/pages/mh_page/homepage/new_Home_page.dart index 412ce84..b601296 100644 --- a/lib/pages/mh_page/homepage/new_Home_page.dart +++ b/lib/pages/mh_page/homepage/new_Home_page.dart @@ -372,7 +372,7 @@ class _NewHomePageState extends State { MediaQuery.sizeOf(context).height * 0.184, constraints: BoxConstraints( - minHeight: 350.rpx, + minHeight: 354.rpx, ), decoration: BoxDecoration( color: stringToColor("#003058"), @@ -385,8 +385,8 @@ class _NewHomePageState extends State { Padding( padding: EdgeInsetsDirectional.fromSTEB( - 30.rpx, - 16.rpx, + 20.rpx, + 20.rpx, 16.rpx, 25.rpx), child: Container( @@ -522,7 +522,6 @@ class _NewHomePageState extends State { isMultiSelect: false, ), ), - ), InkWell( onTap: () { @@ -827,10 +826,15 @@ class _NewHomePageState extends State { child: Row( mainAxisSize: MainAxisSize.min, children: [ - Icon( - Icons.add, - size: 60.rpx, - color: stringToColor("#85F5FF"), + // Icon( + // Icons.add, + // size: 60.rpx, + // color: stringToColor("#85F5FF"), + // ), + SvgPicture.asset( + 'assets/images/icon/add.svg', + width: 42.rpx, + height: 42.rpx, ), SizedBox(width: 20.rpx), Text( diff --git a/lib/pages/mh_page/test/WebviewTestModel.dart b/lib/pages/mh_page/test/WebviewTestModel.dart index 3f3ac66..5a29b91 100644 --- a/lib/pages/mh_page/test/WebviewTestModel.dart +++ b/lib/pages/mh_page/test/WebviewTestModel.dart @@ -118,7 +118,24 @@ class WebviewTestController extends GetControllerEx { // bluetooth = args[0]; return instantData; }); - + bridge.sdk.startTimer((args) async { + ef.log('queryInstantData: $args'); + MHTHomeController homeController = Get.find(); + homeController.startTimer(args); + return true; + }); + bridge.sdk.cancelTimer((args) async { + ef.log('queryInstantData: $args'); + MHTHomeController homeController = Get.find(); + homeController.cancelTimer(args); + return true; + }); + bridge.sdk.restoreTimer((args) async { + ef.log('queryInstantData: $args'); + MHTHomeController homeController = Get.find(); + var data = await homeController.restoreTimer(args); + return data; + }); }); web //.file( @@ -180,7 +197,6 @@ class WebviewTestController extends GetControllerEx { } else { print("未知数据格式"); } - print("aaa"); if (tmp['data'] != null && tmp['data'] is Map) { var newData = tmp['data']; var mac = newData['mac']; diff --git a/lib/pages/sleep_report/new_sleep_report_page.dart b/lib/pages/sleep_report/new_sleep_report_page.dart index 54f7ec3..7252701 100644 --- a/lib/pages/sleep_report/new_sleep_report_page.dart +++ b/lib/pages/sleep_report/new_sleep_report_page.dart @@ -13,6 +13,7 @@ import 'package:vbvs_app/controller/home/home_controller.dart'; import 'package:vbvs_app/controller/sleep/sleep_report_controller.dart'; import 'package:vbvs_app/language/AppLanguage.dart'; import 'package:vbvs_app/pages/common/selectDialog.dart'; +import 'package:vbvs_app/pages/main_bottom/component/main_page_b_bottom_change.dart'; import 'package:vbvs_app/pages/sleep_report/component/AIAdviceWidget.dart'; import 'package:vbvs_app/pages/sleep_report/component/BreatheCard.dart'; import 'package:vbvs_app/pages/sleep_report/component/BreathePauseNewWidget.dart'; @@ -91,8 +92,16 @@ class _NewSleepReportPageState extends State { _scrollToTargetComponent(sleepReportController.sleepReport); }, onFailure: (res) { - TopSlideNotification.show(context, - text: res.msg!, textColor: themeController.currentColor.sc9); + if (MainPageBBottomChange.getCurrentIndex() != null) { + if (MainPageBBottomChange.getCurrentIndex() == 1) { + TopSlideNotification.show(context, + text: res.msg!, textColor: themeController.currentColor.sc9); + } + } else { + TopSlideNotification.show(context, + text: res.msg!, textColor: themeController.currentColor.sc9); + } + sleepReportController.sleepReport.value = {}; sleepReportController.updateAll(); print(res); @@ -149,15 +158,28 @@ class _NewSleepReportPageState extends State { builder: (context, bodySize) => GestureDetector( onTap: () => FocusScope.of(context).unfocus(), child: Container( + // decoration: BoxDecoration( + // image: DecorationImage( + // image: (widget.data['backgroundImg'] != null && + // widget.data['backgroundImg'].toString().isNotEmpty) + // ? AssetImage(widget.data['backgroundImg']) + // : AssetImage('assets/img/bgNoImg.png') as ImageProvider, + // fit: BoxFit.fill, + // ), + // ), decoration: BoxDecoration( - image: DecorationImage( - image: (widget.data['backgroundImg'] != null && - widget.data['backgroundImg'].toString().isNotEmpty) - ? AssetImage(widget.data['backgroundImg']) - : AssetImage('assets/img/bgNoImg.png') as ImageProvider, - fit: BoxFit.fill, - ), + image: (widget.data['noBackImg'] != null && + widget.data['noBackImg'] == true) + ? null // ✅ 不要背景图 + : DecorationImage( + image: (widget.data['backgroundImg'] != null && + widget.data['backgroundImg'].toString().isNotEmpty) + ? AssetImage(widget.data['backgroundImg']) + : AssetImage('assets/img/bgNoImg.png') as ImageProvider, + fit: BoxFit.fill, + ), ), + child: Scaffold( backgroundColor: Colors.transparent, // 背景透明 appBar: AppBar(