|
|
@@ -1,5 +1,5 @@
|
|
|
+import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
|
|
|
import { Admin, Resource, CustomRoutes } from 'react-admin';
|
|
|
-import { Route } from 'react-router-dom';
|
|
|
import { ThemeProvider, createTheme } from '@mui/material/styles';
|
|
|
import { ruoyiDataProvider } from '@/adapters/ruoyiDataProvider';
|
|
|
import { ruoyiAuthProvider } from '@/adapters/ruoyiAuthProvider';
|
|
|
@@ -29,43 +29,52 @@ const theme = createTheme({
|
|
|
},
|
|
|
});
|
|
|
|
|
|
+// React Admin应用组件
|
|
|
+const ReactAdminApp = () => (
|
|
|
+ <Admin
|
|
|
+ dataProvider={ruoyiDataProvider}
|
|
|
+ authProvider={ruoyiAuthProvider}
|
|
|
+ loginPage={LoginPage}
|
|
|
+ dashboard={Dashboard}
|
|
|
+ layout={Layout}
|
|
|
+ theme={theme}
|
|
|
+ requireAuth
|
|
|
+ >
|
|
|
+ <Resource
|
|
|
+ name="system/users"
|
|
|
+ list={UserList}
|
|
|
+ edit={UserEdit}
|
|
|
+ create={UserCreate}
|
|
|
+ />
|
|
|
+ <Resource
|
|
|
+ name="system/roles"
|
|
|
+ list={RoleList}
|
|
|
+ edit={RoleEdit}
|
|
|
+ create={RoleCreate}
|
|
|
+ />
|
|
|
+ <Resource
|
|
|
+ name="system/menus"
|
|
|
+ list={MenuList}
|
|
|
+ edit={MenuEdit}
|
|
|
+ create={MenuCreate}
|
|
|
+ />
|
|
|
+
|
|
|
+ {/* Dashboard通过Resource自动路由,无需CustomRoutes */}
|
|
|
+ </Admin>
|
|
|
+);
|
|
|
+
|
|
|
export const App = () => {
|
|
|
return (
|
|
|
<ThemeProvider theme={theme}>
|
|
|
- <Admin
|
|
|
- dataProvider={ruoyiDataProvider}
|
|
|
- authProvider={ruoyiAuthProvider}
|
|
|
- loginPage={LoginPage}
|
|
|
- dashboard={Dashboard}
|
|
|
- layout={Layout}
|
|
|
- theme={theme}
|
|
|
- requireAuth
|
|
|
- >
|
|
|
- <Resource
|
|
|
- name="system/users"
|
|
|
- list={UserList}
|
|
|
- edit={UserEdit}
|
|
|
- create={UserCreate}
|
|
|
- />
|
|
|
- <Resource
|
|
|
- name="system/roles"
|
|
|
- list={RoleList}
|
|
|
- edit={RoleEdit}
|
|
|
- create={RoleCreate}
|
|
|
- />
|
|
|
- <Resource
|
|
|
- name="system/menus"
|
|
|
- list={MenuList}
|
|
|
- edit={MenuEdit}
|
|
|
- create={MenuCreate}
|
|
|
- />
|
|
|
-
|
|
|
- <CustomRoutes>
|
|
|
+ <Router>
|
|
|
+ <Routes>
|
|
|
+ {/* 错误页面 - 独立于React Admin */}
|
|
|
<Route path="/error" element={<ErrorPage />} />
|
|
|
- </CustomRoutes>
|
|
|
-
|
|
|
- {/* Dashboard通过Resource自动路由,无需CustomRoutes */}
|
|
|
- </Admin>
|
|
|
+
|
|
|
+ {/* 其他所有路由都交给React Admin处理 */}
|
|
|
+ <Route path="/*" element={<ReactAdminApp />} />
|
|
|
+ </Routes>
|
|
|
+ </Router>
|
|
|
</ThemeProvider>
|
|
|
);
|
|
|
};
|