Files
FlutterUnit/lib/app/router.dart
2021-04-03 19:41:09 +08:00

96 lines
3.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_unit/views/pages/about/about_me_page.dart';
import 'package:flutter_unit/views/pages/about/about_app_page.dart';
import 'package:flutter_unit/views/pages/app/navigation/unit_navigation.dart';
import 'package:flutter_unit/views/pages/category/category_show.dart';
import 'package:flutter_unit/views/pages/category/collect_page.dart';
import 'package:flutter_unit/views/pages/search/serach_page.dart';
import 'package:flutter_unit/views/pages/setting/code_style_setting.dart';
import 'package:flutter_unit/views/pages/setting/font_setting.dart';
import 'package:flutter_unit/views/pages/setting/item_style_setting.dart';
import 'package:flutter_unit/views/pages/setting/theme_color_setting.dart';
import 'package:flutter_unit/views/pages/unit_todo/attr_unit_page.dart';
import 'package:flutter_unit/views/pages/unit_todo/bug_unit_page.dart';
import 'package:flutter_unit/views/pages/detail/widget_detail_page.dart';
import 'package:flutter_unit/views/pages/unit_todo/layout_unit_page.dart';
import 'package:flutter_unit/views/pages/unit_todo/paint_unit_page.dart';
import 'package:flutter_unit/views/pages/setting/setting_page.dart';
import 'utils/router_utils.dart';
class UnitRouter {
static const String detail = 'detail';
static const String home = '/';
static const String logo = 'logo';
static const String search = 'search';
static const String nav = 'nav';
static const String widget_detail = 'WidgetDetail';
static const String collect = 'CollectPage';
static const String setting = 'SettingPage';
static const String font_setting = 'FountSettingPage';
static const String theme_color_setting = 'ThemeColorSettingPage';
static const String code_style_setting = 'CodeStyleSettingPage';
static const String item_style_setting = 'ItemStyleSettingPage';
static const String category_show = 'CategoryShow';
static const String attr = 'AttrUnitPage';
static const String bug = 'BugUnitPage';
static const String paint = 'PaintUnitPage';
static const String layout = 'LayoutUnitPage';
static const String about_me = 'AboutMePage';
static const String about_app = 'AboutAppPage';
static Route<dynamic> generateRoute(RouteSettings settings) {
switch (settings.name) {
//根据名称跳转相应页面
case widget_detail:
return Right2LeftRouter(child: WidgetDetailPage(model: settings.arguments,));
case search:
return Right2LeftRouter(child: SearchPage());
case collect:
return Right2LeftRouter(child: CollectPage());
case nav:
return Left2RightRouter(child: UnitNavigation());
case setting:
return Right2LeftRouter(child: SettingPage());
case font_setting:
return Right2LeftRouter(child: FontSettingPage());
case theme_color_setting:
return Right2LeftRouter(child: ThemeColorSettingPage());
case code_style_setting:
return Right2LeftRouter(child: CodeStyleSettingPage());
case item_style_setting:
return Right2LeftRouter(child: ItemStyleSettingPage());
case attr:
return Right2LeftRouter(child: AttrUnitPage());
case bug:
return Right2LeftRouter(child: BugUnitPage());
case paint:
return Right2LeftRouter(child: PaintUnitPage());
case layout:
return Right2LeftRouter(child: LayoutUnitPage());
case about_app:
return Right2LeftRouter(child: AboutAppPage());
case about_me:
return Right2LeftRouter(child: AboutMePage());
case category_show:
return Right2LeftRouter(child: CategoryShow(model: settings.arguments,));
default:
return MaterialPageRoute(
builder: (_) => Scaffold(
body: Center(
child: Text('No route defined for ${settings.name}'),
),
));
}
}
}