import 'package:ef/ef.dart'; import 'package:flutter/cupertino.dart'; import 'package:vbvs_app/controller/theme_controller/ThemeController.dart'; import 'package:vbvs_app/controller/user_info_controller.dart'; import 'package:vbvs_app/pages/main_bottom/component/main_page_b_bottom_change.dart'; import 'package:vbvs_app/pages/mh_page/HomeDeviceType.dart'; import 'package:vbvs_app/pages/mh_page/LanguagePage.dart'; import 'package:vbvs_app/pages/mh_page/address_list_page.dart'; import 'package:vbvs_app/pages/mh_page/apply_repair_page.dart'; import 'package:vbvs_app/pages/mh_page/book_info_page.dart'; import 'package:vbvs_app/pages/mh_page/book_success_page.dart'; import 'package:vbvs_app/pages/mh_page/device_people_info.dart'; import 'package:vbvs_app/pages/mh_page/edit_bed.dart'; import 'package:vbvs_app/pages/mh_page/user/page/edit_userinfo_page.dart'; import 'package:vbvs_app/pages/mh_page/experience_store_page.dart'; import 'package:vbvs_app/pages/mh_page/issue_list_page.dart'; import 'package:vbvs_app/pages/mh_page/my_experience_page.dart'; import 'package:vbvs_app/pages/mh_page/people_info.dart'; import 'package:vbvs_app/pages/mh_page/user/page/register_page.dart'; import 'package:vbvs_app/pages/mh_page/repair_history_page.dart'; import 'package:vbvs_app/pages/mh_page/repair_list.dart'; import 'package:vbvs_app/pages/mh_page/room_picker.dart'; import 'package:vbvs_app/pages/mh_page/sleep_habit.dart'; import 'package:vbvs_app/pages/mh_page/smys.dart'; import 'package:vbvs_app/pages/mh_page/user/page/find_password_page.dart'; import 'package:vbvs_app/pages/mh_page/user/page/mht_login_page.dart'; import '../pages/mh_page/bluetooth.dart'; import '../pages/mh_page/edit_address_page.dart'; import '../pages/mh_page/message_page.dart'; import '../pages/mh_page/new_settingPage.dart'; ThemeController themeController = Get.find(); var mhroutes = { "/mianPageBottomChange": (contxt) => MainPageBBottomChange(), "/homeDeviceType": (contxt) => HomeDeviceType(), "/editUserInfoPage": (contxt) => EditUserPage(), "/peopleInfoPage": (contxt) => PeopleInfoPage(), "/repairHistoryListPage": (contxt) => RepairHistoryListPage(), "/deviceRepairPage": (contxt) => DeviceRepairPage(), "/settingPage": (contxt) => SettingPage(), "/issueListpage": (contxt) => IssueListPage(), "/messagePage": (contxt) => MessagePage(), "/addressListPage": (contxt) => AddressListPage(), "/editAddressPage": (contxt) => EditAddressPage(), "/languagePage": (context) => LanguagePage(), '/bluetoothPage': (context) => BluetoothPage(), "/devicePeopleInfo": (context) => DevicePeopleInfo(), "/sleepHabitPage": (context) => SleepHabitPage(), '/syms': (context) => Smys(), "/applyRepairPage": (context) => ApplyRepairPage(), "/roomPickerPage": (context) => RoomPickerPage(), "/editBedPage": (context) => EditBedPage(), "/experienceStorePage": (context) => ExperienceStorePage(), "/bookInfoPage": (context, {arguments}) => BookInfoPage(data: arguments), "/bookSuccessPage": (contxt, {arguments}) => BookSuccessPage(data: arguments["data"]), "/myExperiencePage": (context) => MyExperiencePage(), "/registerPage": (context) => RegisterPage(), "/findPasswordPage": (context) => FindPasswordPage(), "/loginPage": (context) => MHTLoginPage(), }; var mhonGenerateRoute = (RouteSettings settings) { final String? name = settings.name; // 获取路由名称,如 /news 或 /search final Function? pageContentBuilder = mhroutes[name]; // 根据路由名称获取对应的页面构建器 if (pageContentBuilder != null) { UserInfoController userInfoController = Get.find(); int loginStatus = userInfoController.model.login!; // 检查用户是否已登录,如果未登录且路由不是登录相关页面,跳转到登录页面 // if (loginStatus != 1) { // // 如果用户未登录且访问的不是登录页面等,展示提示并重定向 // if (settings.name != "/loginPage" && // settings.name != "/otherLoginPage" && // settings.name != "/mianPageBottomChange") { // TopSlideNotification.show( // Get.context!, // text: "必须登录提示".tr, // textColor: themeController.currentColor.sc9, // ); // // 创建新的 RouteSettings,并修改 name 为 /loginPage // final updatedSettings = RouteSettings( // name: "/loginPage", // arguments: settings.arguments, // ); // // 创建一个新的路由,跳转到登录页面 // return CupertinoPageRoute( // settings: updatedSettings, // builder: (context) => pageContentBuilder!(context), // ); // } // } // 如果有路由参数,传递参数 if (settings.arguments != null) { return CupertinoPageRoute( settings: settings, builder: (context) => pageContentBuilder!(context, arguments: settings.arguments), ); } else { // 没有路由参数时,直接构建页面 return CupertinoPageRoute( settings: settings, builder: (context) => pageContentBuilder!(context), ); } } return null; // 如果路由名称没有匹配的页面,返回 null };