forked from toly1994328/FlutterUnit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrouter.dart
113 lines (101 loc) · 4.44 KB
/
router.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import 'package:flutter/material.dart';
import 'package:flutter_unit/views/app/navigation/unit_navigation.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/about/version_info.dart';
import 'package:flutter_unit/views/pages/category/category_detail.dart';
import 'package:flutter_unit/views/pages/category/collect_page.dart';
import 'package:flutter_unit/views/pages/issues/main.dart';
import 'package:flutter_unit/views/pages/login/login_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/point_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 Router {
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 version_info = 'VersionInfo';
static const String login = 'login';
static const String category_show = 'CategoryShow';
static const String issues_point = 'IssuesPointPage';
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 version_info:
return Right2LeftRouter(child: VersionInfo());
case issues_point:
return Right2LeftRouter(child: IssuesPointPage());
case login:
return Right2LeftRouter(child: LoginPage());
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}'),
),
));
}
}
}