@@ -16,13 +16,14 @@ import AppExceptionRoute from './routes/exception/Exception';
1616import AppLayout from './routes/layout/Layout' ;
1717import AppLoginRoute from './routes/login/Login' ;
1818
19- const AppAMapRoute = React . lazy ( ( ) => import ( './routes/dashboard/amap/AMap' ) ) ;
20- const AppEChartsRoute = React . lazy ( ( ) => import ( './routes/dashboard/echarts/ECharts' ) ) ;
21-
22- const AppStandardTableRoute = React . lazy ( ( ) => import ( './routes/list/standard-table/StandardTable' ) ) ;
23-
24- const AppACLRoute = React . lazy ( ( ) => import ( './routes/test/acl/ACL' ) ) ;
25- const AppHttpRoute = React . lazy ( ( ) => import ( './routes/test/http/Http' ) ) ;
19+ const ROUTES = {
20+ '/dashboard/amap' : React . lazy ( ( ) => import ( './routes/dashboard/amap/AMap' ) ) ,
21+ '/dashboard/echarts' : React . lazy ( ( ) => import ( './routes/dashboard/echarts/ECharts' ) ) ,
22+ '/list/standard-table' : React . lazy ( ( ) => import ( './routes/list/standard-table/StandardTable' ) ) ,
23+ '/list/standard-table/:id' : React . lazy ( ( ) => import ( './routes/list/standard-table/detail/Detail' ) ) ,
24+ '/test/acl' : React . lazy ( ( ) => import ( './routes/test/acl/ACL' ) ) ,
25+ '/test/http' : React . lazy ( ( ) => import ( './routes/test/http/Http' ) ) ,
26+ } ;
2627
2728export interface RouteStateContextData {
2829 matchRoutes : RouteMatch < string , RouteItem > [ ] | null ;
@@ -35,13 +36,6 @@ export type CanActivateFn = (route: RouteItem) => true | React.ReactElement;
3536
3637export interface RouteData {
3738 title ?: string ;
38- breadcrumb ?:
39- | {
40- title ?: string ;
41- link ?: boolean ;
42- separator ?: React . ReactNode ;
43- }
44- | false ;
4539 acl ?:
4640 | {
4741 control : Control | Control [ ] ;
@@ -76,17 +70,13 @@ export function AppRoutes() {
7670 path : LOGIN_PATH ,
7771 element : < AppLoginRoute /> ,
7872 data : {
79- title : t ( 'login ' , { ns : 'title' } ) ,
73+ title : t ( 'Login ' , { ns : 'title' } ) ,
8074 } ,
8175 } ,
8276 {
8377 path : '/' ,
8478 element : < AppLayout /> ,
8579 data : {
86- breadcrumb : {
87- title : t ( 'home' , { ns : 'title' } ) ,
88- link : true ,
89- } ,
9080 canActivate : [ tokenGuard ] ,
9181 canActivateChild : [ tokenGuard ] ,
9282 } ,
@@ -97,103 +87,82 @@ export function AppRoutes() {
9787 } ,
9888 {
9989 path : 'dashboard' ,
100- data : {
101- breadcrumb : {
102- title : t ( 'dashboard.' , { ns : 'title' } ) ,
103- } ,
104- } ,
10590 children : [
91+ {
92+ index : true ,
93+ element : < Navigate to = "/exception/404" replace /> ,
94+ } ,
10695 {
10796 path : 'amap' ,
108- element : (
109- < React . Suspense fallback = { < AppFCPLoader /> } >
110- < AppAMapRoute />
111- </ React . Suspense >
112- ) ,
97+ element : < React . Suspense fallback = { < AppFCPLoader /> } > { React . createElement ( ROUTES [ '/dashboard/amap' ] ) } </ React . Suspense > ,
11398 data : {
114- title : t ( 'dashboard.amap' , { ns : 'title' } ) ,
115- breadcrumb : {
116- link : true ,
117- } ,
118- acl : ROUTES_ACL . dashboard . amap ,
99+ title : t ( 'AMap' , { ns : 'title' } ) ,
100+ acl : ROUTES_ACL [ '/dashboard/amap' ] ,
119101 canActivate : [ ACLGuard ] ,
120102 } ,
121103 } ,
122104 {
123105 path : 'echarts' ,
124- element : (
125- < React . Suspense fallback = { < AppFCPLoader /> } >
126- < AppEChartsRoute />
127- </ React . Suspense >
128- ) ,
106+ element : < React . Suspense fallback = { < AppFCPLoader /> } > { React . createElement ( ROUTES [ '/dashboard/echarts' ] ) } </ React . Suspense > ,
129107 data : {
130- title : t ( 'dashboard.echarts' , { ns : 'title' } ) ,
131- breadcrumb : {
132- link : true ,
133- } ,
134- acl : ROUTES_ACL . dashboard . echarts ,
108+ title : t ( 'ECharts' , { ns : 'title' } ) ,
109+ acl : ROUTES_ACL [ '/dashboard/echarts' ] ,
135110 canActivate : [ ACLGuard ] ,
136111 } ,
137112 } ,
138113 ] ,
139114 } ,
140115 {
141116 path : 'list' ,
142- data : {
143- breadcrumb : {
144- title : t ( 'list.' , { ns : 'title' } ) ,
145- } ,
146- } ,
147117 children : [
118+ {
119+ index : true ,
120+ element : < Navigate to = "/exception/404" replace /> ,
121+ } ,
148122 {
149123 path : 'standard-table' ,
124+ element : < React . Suspense fallback = { < AppFCPLoader /> } > { React . createElement ( ROUTES [ '/list/standard-table' ] ) } </ React . Suspense > ,
125+ data : {
126+ title : t ( 'Standard Table' , { ns : 'title' } ) ,
127+ acl : ROUTES_ACL [ '/list/standard-table' ] ,
128+ canActivate : [ ACLGuard ] ,
129+ } ,
130+ } ,
131+ {
132+ path : 'standard-table/:id' ,
150133 element : (
151- < React . Suspense fallback = { < AppFCPLoader /> } >
152- < AppStandardTableRoute />
153- </ React . Suspense >
134+ < React . Suspense fallback = { < AppFCPLoader /> } > { React . createElement ( ROUTES [ '/list/standard-table/:id' ] ) } </ React . Suspense >
154135 ) ,
155136 data : {
156- title : t ( 'list.standard-table' , { ns : 'title' } ) ,
157- breadcrumb : {
158- link : true ,
159- } ,
160- acl : ROUTES_ACL . list [ 'standard-table' ] ,
137+ title : t ( 'Device Detail' , { ns : 'title' } ) ,
138+ acl : ROUTES_ACL [ '/list/standard-table/:id' ] ,
161139 canActivate : [ ACLGuard ] ,
162140 } ,
163141 } ,
164142 ] ,
165143 } ,
166144 {
167145 path : 'test' ,
168- data : {
169- breadcrumb : {
170- title : t ( 'test.' , { ns : 'title' } ) ,
171- } ,
172- } ,
173146 children : [
147+ {
148+ index : true ,
149+ element : < Navigate to = "/exception/404" replace /> ,
150+ } ,
174151 {
175152 path : 'acl' ,
176- element : (
177- < React . Suspense fallback = { < AppFCPLoader /> } >
178- < AppACLRoute />
179- </ React . Suspense >
180- ) ,
153+ element : < React . Suspense fallback = { < AppFCPLoader /> } > { React . createElement ( ROUTES [ '/test/acl' ] ) } </ React . Suspense > ,
181154 data : {
182- title : t ( 'test.acl ' , { ns : 'title' } ) ,
183- acl : ROUTES_ACL . test . acl ,
155+ title : t ( 'ACL ' , { ns : 'title' } ) ,
156+ acl : ROUTES_ACL [ '/ test/ acl' ] ,
184157 canActivate : [ ACLGuard ] ,
185158 } ,
186159 } ,
187160 {
188161 path : 'http' ,
189- element : (
190- < React . Suspense fallback = { < AppFCPLoader /> } >
191- < AppHttpRoute />
192- </ React . Suspense >
193- ) ,
162+ element : < React . Suspense fallback = { < AppFCPLoader /> } > { React . createElement ( ROUTES [ '/test/http' ] ) } </ React . Suspense > ,
194163 data : {
195- title : t ( 'test.http ' , { ns : 'title' } ) ,
196- acl : ROUTES_ACL . test . http ,
164+ title : t ( 'Http ' , { ns : 'title' } ) ,
165+ acl : ROUTES_ACL [ '/ test/ http' ] ,
197166 canActivate : [ ACLGuard ] ,
198167 } ,
199168 } ,
0 commit comments