Просмотр исходного кода

✨ feat(mobile): 实现移动端路由系统

- 导入必要的路由组件和布局组件
- 配置移动端主要页面路由结构
- 实现带底部标签栏的MobileLayout布局
- 添加首页、银发岗位、银发人才等主要功能页面路由
- 为个人中心相关页面添加路由保护
- 配置登录、注册等公共页面路由
- 添加404页面和错误处理页面路由

✨ feat(mobile): 实现页面导航功能

- 配置首页重定向功能
- 实现底部标签栏导航系统
- 建立完整的页面跳转体系
- 添加个人资料编辑、积分、我的发布等子页面路由
yourname 10 месяцев назад
Родитель
Сommit
617c69f061
1 измененных файлов с 135 добавлено и 1 удалено
  1. 135 1
      src/client/mobile/routes.tsx

+ 135 - 1
src/client/mobile/routes.tsx

@@ -1,2 +1,136 @@
 import React from 'react';
-import { createBrowserRouter, Navigate } from
+import { createBrowserRouter, Navigate } from 'react-router-dom';
+import { ProtectedRoute } from './components/ProtectedRoute';
+import { ErrorPage } from './components/ErrorPage';
+import { NotFoundPage } from './components/NotFoundPage';
+import { ErrorBoundary } from './components/ErrorBoundary';
+import { MobileLayout } from './layouts/MobileLayout';
+import { silverPlatformTabs } from './components/BottomTabBar';
+
+// 页面组件导入
+import HomePage from './pages/HomePage';
+import SilverJobsPage from './pages/SilverJobsPage';
+import SilverTalentsPage from './pages/SilverTalentsPage';
+import SilverWisdomPage from './pages/SilverWisdomPage';
+import ElderlyUniversityPage from './pages/ElderlyUniversityPage';
+import TimeBankPage from './pages/TimeBankPage';
+import PolicyNewsPage from './pages/PolicyNewsPage';
+import PublishPage from './pages/PublishPage';
+import ProfilePage from './pages/ProfilePage';
+import ProfileEditPage from './pages/ProfileEditPage';
+import PointsPage from './pages/PointsPage';
+import MyPostsPage from './pages/MyPostsPage';
+import MyFavoritesPage from './pages/MyFavoritesPage';
+import SkillsPage from './pages/SkillsPage';
+import LoginPage from './pages/LoginPage';
+import RegisterPage from './pages/RegisterPage';
+
+export const router = createBrowserRouter([
+  {
+    path: '/',
+    element: <MobileLayout tabs={silverPlatformTabs} />,
+    children: [
+      {
+        index: true,
+        element: <Navigate to="/home" replace />
+      },
+      {
+        path: 'home',
+        element: <HomePage />
+      },
+      {
+        path: 'silver-jobs',
+        element: <SilverJobsPage />
+      },
+      {
+        path: 'silver-talents',
+        element: <SilverTalentsPage />
+      },
+      {
+        path: 'silver-wisdom',
+        element: <SilverWisdomPage />
+      },
+      {
+        path: 'elderly-university',
+        element: <ElderlyUniversityPage />
+      },
+      {
+        path: 'time-bank',
+        element: <TimeBankPage />
+      },
+      {
+        path: 'policy-news',
+        element: <PolicyNewsPage />
+      },
+      {
+        path: 'publish',
+        element: (
+          <ProtectedRoute>
+            <PublishPage />
+          </ProtectedRoute>
+        )
+      },
+      {
+        path: 'profile',
+        element: (
+          <ProtectedRoute>
+            <ProfilePage />
+          </ProtectedRoute>
+        )
+      },
+      {
+        path: 'profile/edit',
+        element: (
+          <ProtectedRoute>
+            <ProfileEditPage />
+          </ProtectedRoute>
+        )
+      },
+      {
+        path: 'profile/points',
+        element: (
+          <ProtectedRoute>
+            <PointsPage />
+          </ProtectedRoute>
+        )
+      },
+      {
+        path: 'profile/posts',
+        element: (
+          <ProtectedRoute>
+            <MyPostsPage />
+          </ProtectedRoute>
+        )
+      },
+      {
+        path: 'profile/favorites',
+        element: (
+          <ProtectedRoute>
+            <MyFavoritesPage />
+          </ProtectedRoute>
+        )
+      },
+      {
+        path: 'profile/skills',
+        element: (
+          <ProtectedRoute>
+            <SkillsPage />
+          </ProtectedRoute>
+        )
+      }
+    ]
+  },
+  {
+    path: '/login',
+    element: <LoginPage />
+  },
+  {
+    path: '/register',
+    element: <RegisterPage />
+  },
+  {
+    path: '*',
+    element: <NotFoundPage />,
+    errorElement: <ErrorPage />
+  }
+]);