新增接单平台第一期闭环
This commit is contained in:
@@ -3,7 +3,9 @@ import { Spin } from 'antd'
|
||||
import { HashRouter, Navigate, Outlet, Route, Routes, useLocation } from 'react-router'
|
||||
|
||||
import { getAdminRole, hasAdminSession } from '@/utils/admin-auth'
|
||||
import { hasWorkerSession } from '@/utils/worker-auth'
|
||||
import AdminLayout from '@/layouts/AdminLayout'
|
||||
import WorkerLayout from '@/layouts/WorkerLayout'
|
||||
|
||||
const AdminDashboardPage = lazy(() => import('@/pages/admin/AdminDashboardPage'))
|
||||
const AdminAuditLogsPage = lazy(() => import('@/pages/admin/AdminAuditLogsPage'))
|
||||
@@ -22,8 +24,14 @@ const AdminTaskDetailPage = lazy(() => import('@/pages/admin/AdminTaskDetailPage
|
||||
const AdminTasksPage = lazy(() => import('@/pages/admin/AdminTasksPage'))
|
||||
const AdminUsersPage = lazy(() => import('@/pages/admin/AdminUsersPage'))
|
||||
const AdminDevMockPage = lazy(() => import('@/pages/admin/AdminDevMockPage'))
|
||||
const AdminWorkerPlatformPage = lazy(() => import('@/pages/admin/AdminWorkerPlatformPage'))
|
||||
const ClaimPage = lazy(() => import('@/pages/claim/ClaimPage'))
|
||||
const CollectPage = lazy(() => import('@/pages/collect/CollectPage'))
|
||||
const NotFoundPage = lazy(() => import('@/pages/NotFoundPage'))
|
||||
const WorkerHallPage = lazy(() => import('@/pages/worker/WorkerHallPage'))
|
||||
const WorkerLoginPage = lazy(() => import('@/pages/worker/WorkerLoginPage'))
|
||||
const WorkerOrdersPage = lazy(() => import('@/pages/worker/WorkerOrdersPage'))
|
||||
const WorkerProfilePage = lazy(() => import('@/pages/worker/WorkerProfilePage'))
|
||||
|
||||
function RequireAdmin() {
|
||||
const location = useLocation()
|
||||
@@ -51,6 +59,16 @@ function LoginRoute() {
|
||||
return <AdminLoginPage />
|
||||
}
|
||||
|
||||
function RequireWorker() {
|
||||
const location = useLocation()
|
||||
|
||||
if (!hasWorkerSession()) {
|
||||
return <Navigate to="/worker/login" replace state={{ from: location }} />
|
||||
}
|
||||
|
||||
return <Outlet />
|
||||
}
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<HashRouter>
|
||||
@@ -66,6 +84,7 @@ export default function App() {
|
||||
<Route path="orders/:orderId" element={<AdminOrderDetailPage />} />
|
||||
<Route path="tasks" element={<AdminTasksPage />} />
|
||||
<Route path="tasks/:taskId" element={<AdminTaskDetailPage />} />
|
||||
<Route path="worker-platform" element={<AdminWorkerPlatformPage />} />
|
||||
<Route path="kuaishou-industry" element={<AdminKuaishouIndustryPage />} />
|
||||
<Route path="cloudtentacles-records" element={<AdminCloudtentaclesRecordsPage />} />
|
||||
<Route path="dev-mock" element={<AdminDevMockPage />} />
|
||||
@@ -77,7 +96,17 @@ export default function App() {
|
||||
</Route>
|
||||
</Route>
|
||||
</Route>
|
||||
<Route path="/worker/login" element={<WorkerLoginPage />} />
|
||||
<Route element={<RequireWorker />}>
|
||||
<Route path="/worker" element={<WorkerLayout />}>
|
||||
<Route index element={<Navigate to="/worker/hall" replace />} />
|
||||
<Route path="hall" element={<WorkerHallPage />} />
|
||||
<Route path="orders" element={<WorkerOrdersPage />} />
|
||||
<Route path="profile" element={<WorkerProfilePage />} />
|
||||
</Route>
|
||||
</Route>
|
||||
<Route path="/claim/:token" element={<ClaimPage />} />
|
||||
<Route path="/collect" element={<CollectPage />} />
|
||||
<Route path="*" element={<NotFoundPage />} />
|
||||
</Routes>
|
||||
</Suspense>
|
||||
|
||||
Reference in New Issue
Block a user