更新web实时数据

This commit is contained in:
wyf
2025-06-24 17:14:46 +08:00
parent 65f7b577df
commit df1a494917
7 changed files with 229 additions and 19 deletions

View File

@@ -1,16 +1,29 @@
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/device_list.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';
class MainPageBBottomChange extends StatefulWidget {
// 全局 key用于静态访问 _HomePageState
static final GlobalKey<_HomePageState> globalKey = GlobalKey<_HomePageState>();
MainPageBBottomChange({Key? key}) : super(key: globalKey);
// 静态方法:外部调用,跳转 tab
static void jumpTo(int index) {
final state = globalKey.currentState;
if (state != null) {
state.switchTab(index);
}
}
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<MainPageBBottomChange>
with SingleTickerProviderStateMixin {
int selectedIndex = 0;
@@ -95,4 +108,23 @@ class _HomePageState extends State<MainPageBBottomChange>
),
);
}
void switchTab(int index) {
final begin = currentPosition;
final end = index.toDouble();
_positionAnimation = Tween<double>(begin: begin, end: end).animate(
CurvedAnimation(parent: _controller, curve: Curves.easeOut),
)..addListener(() {
setState(() {});
});
_controller.forward(from: 0.0);
currentPosition = end;
setState(() {
selectedIndex = index;
});
}
}