Files
tuiche/lib/routers/routers.dart
2025-04-28 15:37:58 +08:00

78 lines
3.5 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:vbvs_app/pages/device/BodyDeviceWidget.dart';
import 'package:vbvs_app/pages/device/device_detail.dart';
import 'package:vbvs_app/pages/device/instant_body_page.dart';
import 'package:vbvs_app/pages/device_bind/MobileScannerTestPage.dart';
import 'package:vbvs_app/pages/device_bind/bind_device_success.dart';
import 'package:vbvs_app/pages/device_bind/blueteeth_device_page.dart';
import 'package:vbvs_app/pages/device_bind/device_share_page.dart';
import 'package:vbvs_app/pages/device_bind/device_type.dart';
import 'package:vbvs_app/pages/device_bind/device_type_list.dart';
import 'package:vbvs_app/pages/device_bind/wifi_page.dart';
import 'package:vbvs_app/pages/login/login.dart';
import 'package:vbvs_app/pages/login/other_login.dart';
import 'package:vbvs_app/pages/main_bottom/e_page.dart';
import 'package:vbvs_app/pages/main_bottom/home_page.dart';
import 'package:vbvs_app/pages/main_bottom/main_page_bottom_change.dart';
import 'package:vbvs_app/pages/main_bottom/message_page.dart';
import 'package:vbvs_app/pages/main_bottom/mine_page.dart';
import 'package:vbvs_app/pages/person/person_page.dart';
import 'package:vbvs_app/pages/person/update_person_page.dart';
import 'package:vbvs_app/pages/sleep_report/sleep_report_page.dart';
import 'package:vbvs_app/pages/user/about_us_page.dart';
import 'package:vbvs_app/pages/user/setting_page.dart';
import 'package:vbvs_app/pages/user/update_user_page.dart';
var routes = {
"/homePage": (contxt) => HomePage(),
"/sleepReportPage": (contxt,{arguments}) => SleepReportPage(sleepUri:arguments),
"/ePage": (contxt) => EPage(),
"/messagePage": (contxt) => MessagePage(),
"/minePage": (contxt) => MinePage(),
"/mianPageBottomChange": (contxt) => MainPageBottomChange(),
"/loginPage": (contxt) => LoginPage(),
"/deviceType": (contxt, {arguments}) => DeviceTypePage(),
"/blueteethDevice": (contxt) => BlueteethDevicePage(),
"/personPage": (contxt) => PersonPage(),
"/bindDeviceSuccess": (contxt) => BindDeviceSuccess(),
"/wifiPage": (contxt) => WifiPage(),
"/otherLoginPage": (contxt) => OtherLoginPage(),
"/updateUserPage": (contxt) => UpdateUserPage(),
"/settingPage": (contxt) => SettingPage(),
"/aboutUsPage": (contxt) => AboutUsPage(),
"/bodyDevice": (contxt) => BodyDeviceWidget(),
"/deviceTypeList": (contxt) => DeviceTypeListPage(),
"/deviceDetail": (contxt,{arguments}) => DeviceDetailPage(device:arguments),
"/instantBodyPage": (contxt,{arguments}) => InstantBodyPage(personInfo:arguments),
"/qrView": (contxt) => MobileScannerTestPage(),
"/updatePersonPage": (contxt) => UpdatePersonPage(),
"/deviceSharePage": (contxt,{arguments}) => DeviceSharePage(device:arguments),
};
//2、配置onGenerateRoute 固定写法 这个方法也相当于一个中间件,这里可以做权限判断
var onGenerateRoute = (RouteSettings settings) {
final String? name = settings.name; // /news 或者 /search
final Function? pageContentBuilder =
routes[name]; // Function = (contxt) { return const NewsPage()}
if (pageContentBuilder != null) {
if (settings.arguments != null) {
final Route route = CupertinoPageRoute(
settings: settings,
builder: (context) =>
pageContentBuilder(context, arguments: settings.arguments));
return route;
} else {
final Route route = CupertinoPageRoute(
settings: settings,
builder: (context) => pageContentBuilder(context));
return route;
}
}
return null;
};