浏览代码

重定向到错误页面2

zhangzl 2 月之前
父节点
当前提交
35094d6703
共有 1 个文件被更改,包括 43 次插入34 次删除
  1. 43 34
      new-react-admin-ui/src/App.tsx

+ 43 - 34
new-react-admin-ui/src/App.tsx

@@ -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>
   );
 };