San3yuan | 4d0e803 | 2025-04-04 17:21:40 +0800 | [diff] [blame] | 1 | import { createBrowserRouter } from 'react-router-dom' |
| 2 | import PrivateRoute from './privateRoute' |
San3yuan | 2534d42 | 2025-04-08 21:43:18 +0800 | [diff] [blame] | 3 | import { useSelector } from 'react-redux' |
San3yuan | 6f2ed69 | 2025-04-16 20:24:49 +0800 | [diff] [blame] | 4 | import Login from '../views/login/login' |
阳菜,放晴! | 7e1e3a5 | 2025-06-05 23:00:51 +0800 | [diff] [blame] | 5 | import Homepage from '../views/homepage/homepage' |
| 6 | import Upload from '../views/upload/upload' |
| 7 | import Search from '../views/search/search' |
San3yuan | 03ab064 | 2025-04-29 18:00:25 +0800 | [diff] [blame] | 8 | import Frame from '../views/frame/frame' |
San3yuan | 4d0e803 | 2025-04-04 17:21:40 +0800 | [diff] [blame] | 9 | import React from 'react' |
| 10 | import Forum from '../views/forum' |
San3yuan | 2534d42 | 2025-04-08 21:43:18 +0800 | [diff] [blame] | 11 | import { RootState } from '@/store' |
San3yuan | a2ee30b | 2025-06-05 21:20:17 +0800 | [diff] [blame] | 12 | import PostList from '../views/postList/postList' |
| 13 | import PostDetail from '../views/postDetail/postDetail' |
San3yuan | 4d0e803 | 2025-04-04 17:21:40 +0800 | [diff] [blame] | 14 | |
| 15 | const router = createBrowserRouter([ |
| 16 | { |
| 17 | path: '/', |
San3yuan | 6f2ed69 | 2025-04-16 20:24:49 +0800 | [diff] [blame] | 18 | element: |
| 19 | <PrivateRoute |
San3yuan | 2534d42 | 2025-04-08 21:43:18 +0800 | [diff] [blame] | 20 | role={0} // 判断是否登录 |
| 21 | redirectPath="/login"/>, |
| 22 | children: [ |
| 23 | { |
San3yuan | 03ab064 | 2025-04-29 18:00:25 +0800 | [diff] [blame] | 24 | path:'/', |
| 25 | element: <Frame/>, |
| 26 | children: [ |
| 27 | { |
| 28 | index: true, |
| 29 | element:<Forum/> |
| 30 | |
| 31 | }, |
San3yuan | a2ee30b | 2025-06-05 21:20:17 +0800 | [diff] [blame] | 32 | { |
| 33 | path: '/posts', |
| 34 | element: <PostList/> |
| 35 | }, |
| 36 | { |
| 37 | path: '/postsDetail', |
| 38 | element: <PostDetail/> |
San3yuan | 8166d1b | 2025-06-05 23:15:53 +0800 | [diff] [blame] | 39 | }, |
| 40 | { |
阳菜,放晴! | 7e1e3a5 | 2025-06-05 23:00:51 +0800 | [diff] [blame] | 41 | path:'/homepage', |
| 42 | element: <Homepage/> |
| 43 | }, |
| 44 | { |
San3yuan | 30e245f | 2025-06-07 20:04:23 +0800 | [diff] [blame] | 45 | path:'/createPost', |
阳菜,放晴! | 7e1e3a5 | 2025-06-05 23:00:51 +0800 | [diff] [blame] | 46 | element: <Upload/> |
| 47 | }, |
| 48 | { |
| 49 | path:'/search', |
| 50 | element:<Search/> |
San3yuan | a2ee30b | 2025-06-05 21:20:17 +0800 | [diff] [blame] | 51 | } |
San3yuan | 03ab064 | 2025-04-29 18:00:25 +0800 | [diff] [blame] | 52 | ] |
San3yuan | 2534d42 | 2025-04-08 21:43:18 +0800 | [diff] [blame] | 53 | }, |
| 54 | ] |
San3yuan | 4d0e803 | 2025-04-04 17:21:40 +0800 | [diff] [blame] | 55 | }, |
| 56 | { |
| 57 | path: '/login', |
| 58 | element: <Login /> // 登录页作为独立路由 |
| 59 | } |
San3yuan | 2534d42 | 2025-04-08 21:43:18 +0800 | [diff] [blame] | 60 | |
| 61 | |
| 62 | |
San3yuan | 4d0e803 | 2025-04-04 17:21:40 +0800 | [diff] [blame] | 63 | ] |
| 64 | ) |
| 65 | |
| 66 | export default router |