111 lines
4.8 KiB
Dart
111 lines
4.8 KiB
Dart
import 'package:ef/ef.dart';
|
||
import 'package:flutter/cupertino.dart';
|
||
import 'package:path/path.dart';
|
||
import 'package:vbvs_app/controller/mh/muser_info_controller.dart';
|
||
|
||
import 'package:vbvs_app/controller/theme_controller/ThemeController.dart';
|
||
|
||
import 'package:vbvs_app/pages/device_control/HomeDeviceType.dart';
|
||
import 'package:vbvs_app/pages/device_control/LanguagePage.dart';
|
||
import 'package:vbvs_app/pages/device_control/address_list_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/apply_repair_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/book_info_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/book_success_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/device_people_info.dart';
|
||
import 'package:vbvs_app/pages/device_control/edit_bed.dart';
|
||
import 'package:vbvs_app/pages/device_control/edit_userinfo_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/experience_store_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/issue_list_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/my_experience_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/people_info.dart';
|
||
import 'package:vbvs_app/pages/device_control/repair_history_page.dart';
|
||
import 'package:vbvs_app/pages/device_control/repair_list.dart';
|
||
import 'package:vbvs_app/pages/device_control/room_picker.dart';
|
||
import 'package:vbvs_app/pages/device_control/sleep_habit.dart';
|
||
import 'package:vbvs_app/pages/device_control/smys.dart';
|
||
|
||
import '../pages/device_control/bluetooth.dart';
|
||
import '../pages/device_control/edit_address_page.dart';
|
||
import '../pages/device_control/message_page.dart';
|
||
import '../pages/device_control/new_settingPage.dart';
|
||
|
||
ThemeController themeController = Get.find();
|
||
|
||
var mhroutes = {
|
||
"/homeDeviceType": (contxt) => HomeDeviceType(),
|
||
"/editUserInfoPage": (contxt) => EditUserInfoPage(),
|
||
"/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(),
|
||
};
|
||
var mhonGenerateRoute = (RouteSettings settings) {
|
||
final String? name = settings.name; // 获取路由名称,如 /news 或 /search
|
||
final Function? pageContentBuilder = mhroutes[name]; // 根据路由名称获取对应的页面构建器
|
||
|
||
if (pageContentBuilder != null) {
|
||
MUserInfoController 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
|
||
};
|