This commit is contained in:
wyf
2025-08-12 17:22:11 +08:00
parent b528ab950d
commit fcd3a281cf
20 changed files with 297 additions and 233 deletions

View File

@@ -36,7 +36,7 @@ class MainPageBBottomChange extends StatefulWidget {
static int? getCurrentIndex() {
final state = globalKey.currentState;
return state?.selectedIndex;
return state?.selectedIndex.value;
}
@override
@@ -69,7 +69,7 @@ class MainPageBBottomChange extends StatefulWidget {
class _HomePageState extends State<MainPageBBottomChange>
with SingleTickerProviderStateMixin {
int selectedIndex = 0;
RxInt selectedIndex = 0.obs;
late AnimationController _controller;
late Animation<double> _positionAnimation;
double currentPosition = 0.0;
@@ -122,7 +122,7 @@ class _HomePageState extends State<MainPageBBottomChange>
});
_controller.forward(from: 0.0);
currentPosition = end;
selectedIndex = index;
selectedIndex.value = index;
});
}
@@ -133,7 +133,7 @@ class _HomePageState extends State<MainPageBBottomChange>
}
Widget _buildPageContent() {
return Center(child: Text('页面 ${titles[selectedIndex]}'));
return Center(child: Text('页面 ${titles[selectedIndex.value]}'));
}
DateTime? _lastBackPressedTime; // 记录上一次返回的时间
@@ -155,11 +155,11 @@ class _HomePageState extends State<MainPageBBottomChange>
child: Scaffold(
backgroundColor: const Color(0xFF011C33),
body: IndexedStack(
index: selectedIndex,
index: selectedIndex.value,
children: pages,
),
bottomNavigationBar: BezierBottomNavigationBar(
selectedIndex: selectedIndex,
selectedIndex: selectedIndex.value,
animatedPosition: _positionAnimation.value,
onTap: _onTabTapped,
path: path,
@@ -186,7 +186,7 @@ class _HomePageState extends State<MainPageBBottomChange>
currentPosition = end;
setState(() {
selectedIndex = index;
selectedIndex.value = index;
dealWebSource(index);
});
}
@@ -195,10 +195,12 @@ class _HomePageState extends State<MainPageBBottomChange>
try {
UserInfoController userInfoController = Get.find();
WebviewTestController webviewTestController = Get.find();
if (index == 2) {
if(webviewTestController.ready.value)
WebviewTestController webviewTestController = Get.find();
webviewTestController.web.jsbridge?.dart
.switchLanguage(mhLanguageController.selectLanguage.value!.language_code);
webviewTestController.web.jsbridge?.dart.switchLanguage(
mhLanguageController.selectLanguage.value!.language_code);
await webviewTestController.web.jsbridge?.dart.pageActive(true);
//激活websocket
edm.EasyDartModule.websocket.sendData(jsonEncode(WebSocketMessage(
@@ -251,7 +253,6 @@ class _HomePageState extends State<MainPageBBottomChange>
return;
}
//当前不处于控制页且连接了该设备-->进行断开
//web todo 断开设备连接
webviewTestController.web.jsbridge?.dart.disconnectByOtherUser();
} else {
ef.log("[websocket]:当前处于控制页给指定用户发送xxx用户已连接");