| 
					
					
						
							
						
					
					
				 | 
				@ -5,20 +5,19 @@ import FetchLoading from '@/components/loading/FetchLoading.tsx' | 
			
		
		
	
		
			
				 | 
				 | 
				import PageLoading from '@/components/page-loading' | 
				 | 
				 | 
				import PageLoading from '@/components/page-loading' | 
			
		
		
	
		
			
				 | 
				 | 
				import { Route as AuthenticatedImport } from '@/layout/_authenticated.tsx' | 
				 | 
				 | 
				import { Route as AuthenticatedImport } from '@/layout/_authenticated.tsx' | 
			
		
		
	
		
			
				 | 
				 | 
				import EmptyLayout from '@/layout/EmptyLayout.tsx' | 
				 | 
				 | 
				import EmptyLayout from '@/layout/EmptyLayout.tsx' | 
			
		
		
	
		
			
				 | 
				 | 
				import ListPageLayout from '@/layout/ListPageLayout.tsx' | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				import { Route as DashboardImport } from '@/pages/dashboard' | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// import ListPageLayout from '@/layout/ListPageLayout.tsx'
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// import { Route as DashboardImport } from '@/pages/dashboard'
 | 
			
		
		
	
		
			
				 | 
				 | 
				import { Route as LoginRouteImport } from '@/pages/login' | 
				 | 
				 | 
				import { Route as LoginRouteImport } from '@/pages/login' | 
			
		
		
	
		
			
				 | 
				 | 
				import { generateUUID } from '@/utils/uuid.ts' | 
				 | 
				 | 
				import { generateUUID } from '@/utils/uuid.ts' | 
			
		
		
	
		
			
				 | 
				 | 
				import { QueryClient, QueryClientProvider } from '@tanstack/react-query' | 
				 | 
				 | 
				import { QueryClient, QueryClientProvider } from '@tanstack/react-query' | 
			
		
		
	
		
			
				 | 
				 | 
				import { | 
				 | 
				 | 
				import { | 
			
		
		
	
		
			
				 | 
				 | 
				  AnyRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  createLazyRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  createRootRouteWithContext, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  createRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  createRouter, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  Outlet, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  redirect, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  RouterProvider, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    AnyRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    createRootRouteWithContext, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    createRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    createRouter, lazyRouteComponent, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    Outlet, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    redirect, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    RouterProvider, | 
			
		
		
	
		
			
				 | 
				 | 
				} from '@tanstack/react-router' | 
				 | 
				 | 
				} from '@tanstack/react-router' | 
			
		
		
	
		
			
				 | 
				 | 
				import { TanStackRouterDevtools } from '@tanstack/router-devtools' | 
				 | 
				 | 
				import { TanStackRouterDevtools } from '@tanstack/router-devtools' | 
			
		
		
	
		
			
				 | 
				 | 
				import { memo } from 'react' | 
				 | 
				 | 
				import { memo } from 'react' | 
			
		
		
	
	
		
			
				| 
					
					
					
						
							
						
					
				 | 
				@ -28,288 +27,261 @@ import { DevTools } from 'jotai-devtools' | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				export const queryClient = new QueryClient({ | 
				 | 
				 | 
				export const queryClient = new QueryClient({ | 
			
		
		
	
		
			
				 | 
				 | 
				  defaultOptions: { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    queries: { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      retry: false, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    defaultOptions: { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        queries: { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            retry: false, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				    } | 
				 | 
				 | 
				    } | 
			
		
		
	
		
			
				 | 
				 | 
				  } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				}) | 
				 | 
				 | 
				}) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				const rootRoute = createRootRouteWithContext<IRootContext>()({ | 
				 | 
				 | 
				const rootRoute = createRootRouteWithContext<IRootContext>()({ | 
			
		
		
	
		
			
				 | 
				 | 
				  component: () => ( | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    <div> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      <FetchLoading/> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      <Outlet/> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      <DevTools /> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      <TanStackRouterDevtools position={'bottom-right'}/> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    </div> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  ), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  beforeLoad: ({ location }) => { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    if (location.pathname === '/') { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      return redirect({ to: '/dashboard' }) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  loader: () => { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    component: () => ( | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            <div> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                <FetchLoading/> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                <Outlet/> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                <DevTools/> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                <TanStackRouterDevtools position={'bottom-right'}/> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            </div> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    ), | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    beforeLoad: ({ location }) => { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        if (location.pathname === '/') { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            return redirect({ to: '/dashboard' }) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    }, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    loader: () => { | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				  }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  notFoundComponent: NotFound, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  pendingComponent: PageLoading, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  errorComponent: ({ error }) => <ErrorPage error={error}/>, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    }, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    notFoundComponent: NotFound, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    pendingComponent: PageLoading, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    errorComponent: ({ error }) => <ErrorPage error={error}/>, | 
			
		
		
	
		
			
				 | 
				 | 
				}) | 
				 | 
				 | 
				}) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				const emptyRoute = createRoute({ | 
				 | 
				 | 
				const emptyRoute = createRoute({ | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => rootRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  id: '/_empty', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  component: EmptyLayout, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    getParentRoute: () => rootRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    id: '/_empty', | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    component: EmptyLayout, | 
			
		
		
	
		
			
				 | 
				 | 
				}) | 
				 | 
				 | 
				}) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				const authRoute = AuthenticatedImport.update({ | 
				 | 
				 | 
				const authRoute = AuthenticatedImport.update({ | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => rootRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  id: '/_authenticated', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    getParentRoute: () => rootRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    id: '/_authenticated', | 
			
		
		
	
		
			
				 | 
				 | 
				} as any) | 
				 | 
				 | 
				} as any) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				const layoutNormalRoute = createRoute({ | 
				 | 
				 | 
				const layoutNormalRoute = createRoute({ | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => rootRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  id: '/_normal_layout', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  component: RootLayout, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    getParentRoute: () => rootRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    id: '/_normal_layout', | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    component: RootLayout, | 
			
		
		
	
		
			
				 | 
				 | 
				}) | 
				 | 
				 | 
				}) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				const layoutAuthRoute = createRoute({ | 
				 | 
				 | 
				const layoutAuthRoute = createRoute({ | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => authRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  id: '/_auth_layout', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  component: RootLayout, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    getParentRoute: () => authRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    id: '/_auth_layout', | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    component: RootLayout, | 
			
		
		
	
		
			
				 | 
				 | 
				}) | 
				 | 
				 | 
				}) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				const notAuthRoute = createRoute({ | 
				 | 
				 | 
				const notAuthRoute = createRoute({ | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => layoutNormalRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  path: '/not-auth', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  component: NotPermission | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    getParentRoute: () => layoutNormalRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    path: '/not-auth', | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    component: NotPermission | 
			
		
		
	
		
			
				 | 
				 | 
				}) | 
				 | 
				 | 
				}) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				// const dashboardRoute = DashboardImport.update({
 | 
				 | 
				 | 
				// const dashboardRoute = DashboardImport.update({
 | 
			
		
		
	
		
			
				 | 
				 | 
				//   path: '/dashboard',
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				//   getParentRoute: () => layoutAuthRoute,
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     path: '/dashboard',
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     getParentRoute: () => layoutAuthRoute,
 | 
			
		
		
	
		
			
				 | 
				 | 
				// } as any)
 | 
				 | 
				 | 
				// } as any)
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				const loginRoute = LoginRouteImport.update({ | 
				 | 
				 | 
				const loginRoute = LoginRouteImport.update({ | 
			
		
		
	
		
			
				 | 
				 | 
				  path: '/login', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => emptyRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    path: '/login', | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    getParentRoute: () => emptyRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				} as any) | 
				 | 
				 | 
				} as any) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				const menusRoute = createRoute({ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => layoutAuthRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  path: '/system/menus', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				}).lazy(async () => await import('@/pages/system/menus').then(d => d.Route)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				const departmentsRoute = createRoute({ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => layoutAuthRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  path: '/system/departments', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				}).lazy(async () => await import('@/pages/system/departments').then(d => d.Route)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				const usersRoute = createRoute({ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => layoutAuthRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  path: '/system/users', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				}).lazy(async () => await import('@/pages/system/users').then(d => d.Route)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				const rolesRoute = createRoute({ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  getParentRoute: () => layoutAuthRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  path: '/system/roles', | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				}).lazy(async () => await import('@/pages/system/roles').then(d => d.Route)) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// const menusRoute = createRoute({
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     getParentRoute: () => layoutAuthRoute,
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     path: '/system/menus',
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// }).lazy(async () => await import('@/pages/system/menus').then(d => d.Route))
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// const departmentsRoute = createRoute({
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     getParentRoute: () => layoutAuthRoute,
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     path: '/system/departments',
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// }).lazy(async () => await import('@/pages/system/departments').then(d => d.Route))
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// const usersRoute = createRoute({
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     getParentRoute: () => layoutAuthRoute,
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     path: '/system/users',
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// }).lazy(async () => await import('@/pages/system/users').then(d => d.Route))
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// const rolesRoute = createRoute({
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     getParentRoute: () => layoutAuthRoute,
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				//     path: '/system/roles',
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				// }).lazy(async () => await import('@/pages/system/roles').then(d => d.Route))
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				declare module '@tanstack/react-router' { | 
				 | 
				 | 
				declare module '@tanstack/react-router' { | 
			
		
		
	
		
			
				 | 
				 | 
				  interface FileRoutesByPath { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/_authenticated': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof AuthenticatedImport | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof rootRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/_normal_layout': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof layoutNormalRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof rootRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/_layout': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof rootRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof DashboardImport | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/dashboard': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof DashboardImport | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/login': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof LoginRouteImport | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof rootRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/system/menus': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof menusRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/system/departments': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof departmentsRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/system/users': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof usersRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/system/roles': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof rolesRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    '/welcome': { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      preLoaderRoute: typeof rootRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      parentRoute: typeof layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    interface FileRoutesByPath { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        '/_authenticated': { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            preLoaderRoute: typeof AuthenticatedImport | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            parentRoute: typeof rootRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        }, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        '/_normal_layout': { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            preLoaderRoute: typeof layoutNormalRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            parentRoute: typeof rootRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        }, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        '/_layout': { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            preLoaderRoute: typeof layoutAuthRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            parentRoute: typeof rootRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        }, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // '/': {
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     preLoaderRoute: typeof DashboardImport
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     parentRoute: typeof layoutAuthRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // },
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // '/dashboard': {
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     preLoaderRoute: typeof DashboardImport
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     parentRoute: typeof layoutAuthRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // },
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        '/login': { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            preLoaderRoute: typeof LoginRouteImport | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            parentRoute: typeof rootRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        }, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // '/system/menus': {
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     preLoaderRoute: typeof menusRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     parentRoute: typeof layoutAuthRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // },
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // '/system/departments': {
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     preLoaderRoute: typeof departmentsRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     parentRoute: typeof layoutAuthRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // },
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // '/system/users': {
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     preLoaderRoute: typeof usersRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     parentRoute: typeof layoutAuthRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // },
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // '/system/roles': {
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     preLoaderRoute: typeof rolesRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //     parentRoute: typeof layoutAuthRoute
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // },
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        '/welcome': { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            preLoaderRoute: typeof rootRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            parentRoute: typeof layoutAuthRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        }, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    } | 
			
		
		
	
		
			
				 | 
				 | 
				} | 
				 | 
				 | 
				} | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				export const generateDynamicRoutes = (menuData: MenuItem[], parentRoute: AnyRoute) => { | 
				 | 
				 | 
				export const generateDynamicRoutes = (menuData: MenuItem[], parentRoute: AnyRoute) => { | 
			
		
		
	
		
			
				 | 
				 | 
				  // 递归生成路由,如果有routes则递归生成子路由
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  const generateRoutes = (menu: MenuItem, parentRoute: AnyRoute) => { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    console.log('gen route', menu) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    const path = menu.path?.replace(parentRoute.options?.path, '') | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    const isLayout = menu.children && menu.children.length > 0 && menu.type === 'menu' | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    if (isLayout && (!menu.path || !menu.component)) { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      //没有component的layout,直接返回
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      console.log('no-page') | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      return createRoute({ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        getParentRoute: () => layoutAuthRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        id: `/layout-no-path-${generateUUID()}`, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        component: RootLayout, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      }) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    // @ts-ignore 添加menu属性,方便后面获取
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    const options = { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      getParentRoute: () => parentRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      menu, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    } as any | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    if (isLayout) { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      options.id = path ?? `/layout-${generateUUID()}` | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    } else { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      if (!path) { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        console.log(`${menu.name}没有设置视图`) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      } else { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        options.path = path | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    console.log('gen route', options) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    // 递归生成路由,如果有routes则递归生成子路由
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    const generateRoutes = (menu: MenuItem, parentRoute: AnyRoute) => { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        const path = menu.path?.replace(parentRoute.options?.path, '') | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        const isLayout = menu.children && menu.children.length > 0 && menu.type === 'menu' | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        if (isLayout && (!menu.path || !menu.component)) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            //没有component的layout,直接返回
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            return createRoute({ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                getParentRoute: () => layoutAuthRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                id: `/layout-no-path-${generateUUID()}`, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                component: EmptyLayout, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            }) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				    //删除掉parentRoute的path,避免重复
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    const route = createRoute(options).lazy(async () => { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // @ts-ignore 添加menu属性,方便后面获取
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        const options = { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            getParentRoute: () => parentRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            menu, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        } as any | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        if (isLayout) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            options.id = path ?? `/layout-${generateUUID()}` | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        } else { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            if (!path) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                console.log(`${menu.name}没有设置视图`) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            } else { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                options.path = path | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				      // @ts-ignore 获取route中的menu属性
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      const menu = route.options.menu as MenuItem | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      let component = menu.component | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        let component = menu.component | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // menu.type
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        // 1,组件(页面),2,IFrame,3,外链接,4,按钮
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        if (menu.type === 'iframe') { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            component = '@/components/Iframe' | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				      // menu.type
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      // 1,组件(页面),2,IFrame,3,外链接,4,按钮
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      if (menu.type === 'iframe') { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        component = '@/components/Iframe' | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        //处理component路径
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        component = component.replace(/^\/pages/, '') | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        component = component.replace(/^\//, '') | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				      if (!component) { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        return createLazyRoute(options.path)({ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				          component: () => <div>404 Not Found</div> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        return createRoute({ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            ...options, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            component: lazyRouteComponent(() => import(`./pages/${component}`)), | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            notFoundComponent: NotFound, | 
			
		
		
	
		
			
				 | 
				 | 
				        }) | 
				 | 
				 | 
				        }) | 
			
		
		
	
		
			
				 | 
				 | 
				      } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      //处理component路径
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      component = component.replace(/^\/pages/, '') | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      component = component.replace(/^\//, '') | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      console.log('load', `/pages/${component}`) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      /* @vite-ignore */ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      const d = await import(`/pages/${component}`) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      if (d.Route) { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        console.log(d.Route) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        return d.Route | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      if (d.GenRoute) { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        return d.GenRoute(options.path) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      return createLazyRoute(options.path)({ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        component: d.default || d | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      }) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    return route | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  // 对menuData递归生成路由,只处理type =1 的菜单
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  const did = (menus: MenuItem[], parentRoute: AnyRoute) => { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    return menus.filter((item) => item.type === 'menu').map((item, index) => { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      // 如果有children则递归生成子路由,同样只处理type =1 的菜单
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      const route = generateRoutes(item, parentRoute) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    } | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				      // console.log(route)
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      if (item.children && item.children.length > 0) { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        const children = did(item.children, route) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        if (children.length > 0) { | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				          route.addChildren(children) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      route.init({ originalIndex: index }) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      return route | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    }) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  } | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    // 对menuData递归生成路由,只处理type =1 的菜单
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    const did = (menus: MenuItem[], parentRoute: AnyRoute) => { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        return menus.filter((item) => item.type === 'menu').map((item, index) => { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            // 如果有children则递归生成子路由,同样只处理type =1 的菜单
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            const route = generateRoutes(item, parentRoute) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            // console.log(route)
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            if (item.children && item.children.length > 0) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                const children = did(item.children, route) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                if (children.length > 0) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    route.addChildren(children) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            route.init({ originalIndex: index }) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            return route | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        }) | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    } | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				  const routes = did(menuData, parentRoute) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    const routes = did(menuData, parentRoute) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				  parentRoute.addChildren(routes) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    parentRoute.addChildren(routes) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				} | 
				 | 
				 | 
				} | 
			
		
		
	
		
			
				 | 
				 | 
				const routeTree = rootRoute.addChildren( | 
				 | 
				 | 
				const routeTree = rootRoute.addChildren( | 
			
		
		
	
		
			
				 | 
				 | 
				  [ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    //非Layout
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    loginRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    emptyRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    //不带权限Layout
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    layoutNormalRoute.addChildren([ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      notAuthRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    ]), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    //带权限Layout
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    // dashboardRoute,
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    authRoute.addChildren( | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      [ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        layoutAuthRoute | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        /*.addChildren( | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				          [ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            menusRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            departmentsRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            usersRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				            rolesRoute, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				          ] | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				        ),*/ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      ]), | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  ] | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        [ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            //非Layout
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            loginRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            emptyRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            //不带权限Layout
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            layoutNormalRoute.addChildren([ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                notAuthRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            ]), | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            //带权限Layout
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            // dashboardRoute,
 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            authRoute.addChildren( | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    [ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        layoutAuthRoute | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        /*.addChildren( | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                          [ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                            menusRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                            departmentsRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                            usersRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                            rolesRoute, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                          ] | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        ),*/ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    ]), | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        ] | 
			
		
		
	
		
			
				 | 
				 | 
				) | 
				 | 
				 | 
				) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				export const RootProvider = memo((props: { context: Partial<IRootContext> }) => { | 
				 | 
				 | 
				export const RootProvider = memo((props: { context: Partial<IRootContext> }) => { | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				  generateDynamicRoutes(props.context.menuData ?? [], layoutAuthRoute) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    generateDynamicRoutes(props.context.menuData ?? [], layoutAuthRoute) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				  const router = createRouter({ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    routeTree, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    context: { queryClient, menuData: [] }, | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    defaultPreload: 'intent' | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  }) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    const router = createRouter({ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        routeTree, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        context: { queryClient, menuData: [] }, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				        defaultPreload: 'intent' | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    }) | 
			
		
		
	
		
			
				 | 
				 | 
				
 | 
				 | 
				 | 
				
 | 
			
		
		
	
		
			
				 | 
				 | 
				  return ( | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    <QueryClientProvider client={queryClient}> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				      <RouterProvider router={router} context={{ ...props.context, queryClient }}/> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				    </QueryClientProvider> | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				  ) | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    return ( | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            <QueryClientProvider client={queryClient}> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                <RouterProvider router={router} context={{ ...props.context, queryClient }}/> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            </QueryClientProvider> | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				    ) | 
			
		
		
	
		
			
				 | 
				 | 
				}) | 
				 | 
				 | 
				}) |