Files
x-server-mobile/frontend/src/router/index.tsx
T

54 lines
2.5 KiB
TypeScript
Raw Normal View History

import { createBrowserRouter, Navigate } from 'react-router-dom'
import MobileLayout from '@/components/layout/MobileLayout'
import Dashboard from '@/pages/dashboard'
import Profile from '@/pages/profile'
import Settings from '@/pages/settings'
import ChangePassword from '@/pages/change-password'
import BusinessTripList from '@/pages/business-trip/list'
import BusinessTripApply from '@/pages/business-trip/apply'
import BusinessTripDetail from '@/pages/business-trip/detail'
2026-02-24 23:44:40 +08:00
import SelectApprover from '@/pages/business-trip/select-approver'
import SelectCc from '@/pages/business-trip/select-cc'
2026-02-25 23:54:38 +08:00
import ApprovalList from '@/pages/approval/list'
import ApprovalDetail from '@/pages/approval/detail'
2026-02-26 19:30:12 +08:00
import QuickAction from '@/pages/approval/quick-action'
import RejectPage from '@/pages/approval/reject'
import Login from '@/pages/login'
import SimpleLogin from '@/pages/login-simple'
import DebugFeishu from '@/pages/debug-feishu'
import FeishuEnvTest from '@/pages/feishu-env-test'
const router = createBrowserRouter([
{
path: '/',
element: <MobileLayout />,
children: [
{ index: true, element: <Navigate to='/dashboard' replace /> },
{ path: 'dashboard', element: <Dashboard /> },
{ path: 'profile', element: <Profile /> },
{ path: 'settings', element: <Settings /> },
{ path: 'change-password', element: <ChangePassword /> },
{ path: 'business-trip', element: <BusinessTripList /> },
{ path: 'business-trip/apply', element: <BusinessTripApply /> },
2026-02-24 23:44:40 +08:00
{ path: 'business-trip/apply/select-approver', element: <SelectApprover /> },
{ path: 'business-trip/apply/select-cc', element: <SelectCc /> },
{ path: 'business-trip/detail/:id', element: <BusinessTripDetail /> },
{ path: 'business-trip/:id', element: <BusinessTripDetail /> },
2026-02-25 23:54:38 +08:00
{ path: 'approval', element: <ApprovalList /> },
{ path: 'approval/:id', element: <ApprovalDetail /> },
],
},
// 详情页移到顶层,支持未登录访问(页面自己处理登录检查)
{ path: '/approval/detail/:id', element: <ApprovalDetail /> },
{ path: '/business-trip/detail/:id', element: <BusinessTripDetail /> },
{ path: '/login', element: <Login /> },
{ path: '/login-simple', element: <SimpleLogin /> },
{ path: '/debug-feishu', element: <DebugFeishu /> },
{ path: '/feishu-env-test', element: <FeishuEnvTest /> },
{ path: '/approval/quick-action', element: <QuickAction /> },
{ path: '/approval/reject', element: <RejectPage /> },
{ path: '*', element: <Navigate to='/login' replace /> },
])
export default router