refactor(asl): ASL frontend architecture refactoring with left navigation

- feat: Create ASLLayout component with 7-module left navigation
- feat: Implement Title Screening Settings page with optimized PICOS layout
- feat: Add placeholder pages for Workbench and Results
- fix: Fix nested routing structure for React Router v6
- fix: Resolve Spin component warning in MainLayout
- fix: Add QueryClientProvider to App.tsx
- style: Optimize PICOS form layout (P+I left, C+O+S right)
- style: Align Inclusion/Exclusion criteria side-by-side
- docs: Add architecture refactoring and routing fix reports

Ref: Week 2 Frontend Development
Scope: ASL module MVP - Title Abstract Screening
This commit is contained in:
2025-11-18 21:51:51 +08:00
parent e3e7e028e8
commit 3634933ece
213 changed files with 20054 additions and 442 deletions

View File

@@ -1,6 +1,7 @@
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
import { ConfigProvider } from 'antd'
import zhCN from 'antd/locale/zh_CN'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { PermissionProvider } from './framework/permission'
import { RouteGuard } from './framework/router'
import MainLayout from './framework/layout/MainLayout'
@@ -12,18 +13,34 @@ import { MODULES } from './framework/modules/moduleRegistry'
*
* @description
* - ConfigProvider: Ant Design国际化配置
* - QueryClientProvider: React Query状态管理Week 2 新增)⭐
* - PermissionProvider: 权限管理系统Week 2 Day 7新增
* - RouteGuard: 路由守卫保护Week 2 Day 7新增
* - BrowserRouter: 前端路由
*
* @version Week 2 Day 7 - 任务17完整版权限系统
* @version Week 2 Day 1 - 添加React Query支持
*/
// 创建React Query客户端
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 1000 * 60 * 5, // 5分钟
gcTime: 1000 * 60 * 10, // 10分钟原cacheTime
retry: 1, // 失败重试1次
refetchOnWindowFocus: false, // 窗口聚焦时不自动重新获取
},
},
})
function App() {
return (
<ConfigProvider locale={zhCN}>
{/* 权限提供者:提供全局权限状态 */}
<PermissionProvider>
<BrowserRouter>
{/* React Query状态管理 */}
<QueryClientProvider client={queryClient}>
{/* 权限提供者:提供全局权限状态 */}
<PermissionProvider>
<BrowserRouter>
<Routes>
<Route path="/" element={<MainLayout />}>
{/* 首页 */}
@@ -52,6 +69,7 @@ function App() {
</Routes>
</BrowserRouter>
</PermissionProvider>
</QueryClientProvider>
</ConfigProvider>
)
}