blob: 6f76a1e6bbc563c1c6d15c104bc7b8a1f36494d5 [file] [log] [blame]
San3yuan4d0e8032025-04-04 17:21:40 +08001import { createBrowserRouter } from 'react-router-dom'
2import PrivateRoute from './privateRoute'
San3yuan2534d422025-04-08 21:43:18 +08003import { useSelector } from 'react-redux'
San3yuan6f2ed692025-04-16 20:24:49 +08004import Login from '../views/login/login'
阳菜,放晴!7e1e3a52025-06-05 23:00:51 +08005import Homepage from '../views/homepage/homepage'
6import Upload from '../views/upload/upload'
7import Search from '../views/search/search'
San3yuan03ab0642025-04-29 18:00:25 +08008import Frame from '../views/frame/frame'
San3yuan4d0e8032025-04-04 17:21:40 +08009import React from 'react'
10import Forum from '../views/forum'
San3yuan2534d422025-04-08 21:43:18 +080011import { RootState } from '@/store'
San3yuana2ee30b2025-06-05 21:20:17 +080012import PostList from '../views/postList/postList'
13import PostDetail from '../views/postDetail/postDetail'
San3yuan4d0e8032025-04-04 17:21:40 +080014
15const router = createBrowserRouter([
16 {
17 path: '/',
San3yuan6f2ed692025-04-16 20:24:49 +080018 element:
19 <PrivateRoute
San3yuan2534d422025-04-08 21:43:18 +080020 role={0} // 判断是否登录
21 redirectPath="/login"/>,
22 children: [
23 {
San3yuan03ab0642025-04-29 18:00:25 +080024 path:'/',
25 element: <Frame/>,
26 children: [
27 {
28 index: true,
29 element:<Forum/>
30
31 },
San3yuana2ee30b2025-06-05 21:20:17 +080032 {
33 path: '/posts',
34 element: <PostList/>
35 },
36 {
37 path: '/postsDetail',
38 element: <PostDetail/>
San3yuan8166d1b2025-06-05 23:15:53 +080039 },
40 {
阳菜,放晴!7e1e3a52025-06-05 23:00:51 +080041 path:'/homepage',
42 element: <Homepage/>
43 },
44 {
San3yuan30e245f2025-06-07 20:04:23 +080045 path:'/createPost',
阳菜,放晴!7e1e3a52025-06-05 23:00:51 +080046 element: <Upload/>
47 },
48 {
49 path:'/search',
50 element:<Search/>
San3yuana2ee30b2025-06-05 21:20:17 +080051 }
San3yuan03ab0642025-04-29 18:00:25 +080052 ]
San3yuan2534d422025-04-08 21:43:18 +080053 },
54 ]
San3yuan4d0e8032025-04-04 17:21:40 +080055 },
56 {
57 path: '/login',
58 element: <Login /> // 登录页作为独立路由
59 }
San3yuan2534d422025-04-08 21:43:18 +080060
61
62
San3yuan4d0e8032025-04-04 17:21:40 +080063]
64)
65
66export default router