更新同步遥控器
This commit is contained in:
@@ -22,6 +22,11 @@ class MainPageBBottomChange extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int? getCurrentIndex() {
|
||||||
|
final state = globalKey.currentState;
|
||||||
|
return state?.selectedIndex;
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_HomePageState createState() => _HomePageState();
|
_HomePageState createState() => _HomePageState();
|
||||||
}
|
}
|
||||||
@@ -133,11 +138,9 @@ class _HomePageState extends State<MainPageBBottomChange>
|
|||||||
Future<void> dealWebSource(int index) async {
|
Future<void> dealWebSource(int index) async {
|
||||||
WebviewTestController webviewTestController = Get.find();
|
WebviewTestController webviewTestController = Get.find();
|
||||||
if (index == 2) {
|
if (index == 2) {
|
||||||
await webviewTestController.web.jsbridge?.dart
|
await webviewTestController.web.jsbridge?.dart.pageActive();
|
||||||
.pageActive();
|
} else {
|
||||||
}else{
|
await webviewTestController.web.jsbridge?.dart.pageInActive();
|
||||||
await webviewTestController.web.jsbridge?.dart
|
}
|
||||||
.pageInActive();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
import 'package:flutter_switch/flutter_switch.dart';
|
import 'package:flutter_switch/flutter_switch.dart';
|
||||||
import 'package:vbvs_app/common/util/FitTool.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';
|
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
|
||||||
|
|
||||||
class MattressControlPage extends StatefulWidget {
|
class MattressControlPage extends StatefulWidget {
|
||||||
|
|||||||
@@ -507,7 +507,7 @@ class _DeviceComponentWidgetState extends State<DeviceComponentWidget> {
|
|||||||
|
|
||||||
blueteethBindController.blueConnectFlag.value = 2;
|
blueteethBindController.blueConnectFlag.value = 2;
|
||||||
blueteethBindController.currentDevice = bledevice;
|
blueteethBindController.currentDevice = bledevice;
|
||||||
await Future.delayed(Duration(seconds: 1));
|
await Future.delayed(Duration(seconds: 2));
|
||||||
var read = bledevice.getresource('fff0/fff1');
|
var read = bledevice.getresource('fff0/fff1');
|
||||||
await read!.characteristic.setNotifyValue(true);
|
await read!.characteristic.setNotifyValue(true);
|
||||||
var write = bledevice.getresource('fff0/fff2');
|
var write = bledevice.getresource('fff0/fff2');
|
||||||
|
|||||||
@@ -560,4 +560,79 @@ class MHTHomeController extends GetControllerEx<MHTHomeModel> {
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//开启定时器
|
||||||
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ class _MhtSleepReportPageState extends State<MhtSleepReportPage> {
|
|||||||
'backgroundImg':
|
'backgroundImg':
|
||||||
'assets/images/new_background.png',
|
'assets/images/new_background.png',
|
||||||
'arrow': false,
|
'arrow': false,
|
||||||
|
'noBackImg':true,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ class _NewHomePageState extends State<NewHomePage> {
|
|||||||
MediaQuery.sizeOf(context).height *
|
MediaQuery.sizeOf(context).height *
|
||||||
0.184,
|
0.184,
|
||||||
constraints: BoxConstraints(
|
constraints: BoxConstraints(
|
||||||
minHeight: 350.rpx,
|
minHeight: 354.rpx,
|
||||||
),
|
),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: stringToColor("#003058"),
|
color: stringToColor("#003058"),
|
||||||
@@ -385,8 +385,8 @@ class _NewHomePageState extends State<NewHomePage> {
|
|||||||
Padding(
|
Padding(
|
||||||
padding:
|
padding:
|
||||||
EdgeInsetsDirectional.fromSTEB(
|
EdgeInsetsDirectional.fromSTEB(
|
||||||
30.rpx,
|
20.rpx,
|
||||||
16.rpx,
|
20.rpx,
|
||||||
16.rpx,
|
16.rpx,
|
||||||
25.rpx),
|
25.rpx),
|
||||||
child: Container(
|
child: Container(
|
||||||
@@ -522,7 +522,6 @@ class _NewHomePageState extends State<NewHomePage> {
|
|||||||
isMultiSelect: false,
|
isMultiSelect: false,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
),
|
),
|
||||||
InkWell(
|
InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
@@ -827,10 +826,15 @@ class _NewHomePageState extends State<NewHomePage> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Icon(
|
// Icon(
|
||||||
Icons.add,
|
// Icons.add,
|
||||||
size: 60.rpx,
|
// size: 60.rpx,
|
||||||
color: stringToColor("#85F5FF"),
|
// color: stringToColor("#85F5FF"),
|
||||||
|
// ),
|
||||||
|
SvgPicture.asset(
|
||||||
|
'assets/images/icon/add.svg',
|
||||||
|
width: 42.rpx,
|
||||||
|
height: 42.rpx,
|
||||||
),
|
),
|
||||||
SizedBox(width: 20.rpx),
|
SizedBox(width: 20.rpx),
|
||||||
Text(
|
Text(
|
||||||
|
|||||||
@@ -118,7 +118,24 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
|
|||||||
// bluetooth = args[0];
|
// bluetooth = args[0];
|
||||||
return instantData;
|
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
|
web
|
||||||
//.file(
|
//.file(
|
||||||
@@ -180,7 +197,6 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
|
|||||||
} else {
|
} else {
|
||||||
print("未知数据格式");
|
print("未知数据格式");
|
||||||
}
|
}
|
||||||
print("aaa");
|
|
||||||
if (tmp['data'] != null && tmp['data'] is Map) {
|
if (tmp['data'] != null && tmp['data'] is Map) {
|
||||||
var newData = tmp['data'];
|
var newData = tmp['data'];
|
||||||
var mac = newData['mac'];
|
var mac = newData['mac'];
|
||||||
|
|||||||
@@ -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/controller/sleep/sleep_report_controller.dart';
|
||||||
import 'package:vbvs_app/language/AppLanguage.dart';
|
import 'package:vbvs_app/language/AppLanguage.dart';
|
||||||
import 'package:vbvs_app/pages/common/selectDialog.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/AIAdviceWidget.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/component/BreatheCard.dart';
|
import 'package:vbvs_app/pages/sleep_report/component/BreatheCard.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/component/BreathePauseNewWidget.dart';
|
import 'package:vbvs_app/pages/sleep_report/component/BreathePauseNewWidget.dart';
|
||||||
@@ -91,8 +92,16 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
|||||||
_scrollToTargetComponent(sleepReportController.sleepReport);
|
_scrollToTargetComponent(sleepReportController.sleepReport);
|
||||||
},
|
},
|
||||||
onFailure: (res) {
|
onFailure: (res) {
|
||||||
TopSlideNotification.show(context,
|
if (MainPageBBottomChange.getCurrentIndex() != null) {
|
||||||
text: res.msg!, textColor: themeController.currentColor.sc9);
|
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.sleepReport.value = {};
|
||||||
sleepReportController.updateAll();
|
sleepReportController.updateAll();
|
||||||
print(res);
|
print(res);
|
||||||
@@ -149,15 +158,28 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
|||||||
builder: (context, bodySize) => GestureDetector(
|
builder: (context, bodySize) => GestureDetector(
|
||||||
onTap: () => FocusScope.of(context).unfocus(),
|
onTap: () => FocusScope.of(context).unfocus(),
|
||||||
child: Container(
|
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(
|
decoration: BoxDecoration(
|
||||||
image: DecorationImage(
|
image: (widget.data['noBackImg'] != null &&
|
||||||
image: (widget.data['backgroundImg'] != null &&
|
widget.data['noBackImg'] == true)
|
||||||
widget.data['backgroundImg'].toString().isNotEmpty)
|
? null // ✅ 不要背景图
|
||||||
? AssetImage(widget.data['backgroundImg'])
|
: DecorationImage(
|
||||||
: AssetImage('assets/img/bgNoImg.png') as ImageProvider,
|
image: (widget.data['backgroundImg'] != null &&
|
||||||
fit: BoxFit.fill,
|
widget.data['backgroundImg'].toString().isNotEmpty)
|
||||||
),
|
? AssetImage(widget.data['backgroundImg'])
|
||||||
|
: AssetImage('assets/img/bgNoImg.png') as ImageProvider,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
backgroundColor: Colors.transparent, // 背景透明
|
backgroundColor: Colors.transparent, // 背景透明
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
|
|||||||
Reference in New Issue
Block a user