feat(frontend): add frontend-v2 modular architecture (Task 17)

- React 19 + TypeScript + Vite
- Module registration mechanism with dynamic loading
- Permission management system (basic/advanced/premium)
- Route guards for access control
- Error boundaries for module isolation
- 6 business module placeholders (AIA/ASL/PKB/DC/SSA/ST)
- Top navigation layout
- Tailwind CSS 3 + Ant Design 5
This commit is contained in:
2025-11-16 15:43:17 +08:00
parent 5579ffa78e
commit 11325f88a7
39 changed files with 8051 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
import { Suspense } from 'react'
import { Outlet } from 'react-router-dom'
import { Spin } from 'antd'
import TopNavigation from './TopNavigation'
import ErrorBoundary from '../modules/ErrorBoundary'
/**
* 主布局组件
*
* @description
* - 顶部导航栏
* - 错误边界保护 ⭐ Week 2 Day 7 新增
* - 懒加载支持Suspense
* - 主内容区Outlet
*
* @version Week 2 Day 7 - 任务17集成错误边界
*/
const MainLayout = () => {
return (
<div className="min-h-screen flex flex-col bg-gray-50">
{/* 顶部导航 */}
<TopNavigation />
{/* 主内容区 - 添加错误边界保护 ⭐ */}
<div className="flex-1 flex flex-col">
<ErrorBoundary moduleName="主应用">
<Suspense
fallback={
<div className="flex-1 flex items-center justify-center">
<Spin size="large" tip="加载中..." />
</div>
}
>
<Outlet />
</Suspense>
</ErrorBoundary>
</div>
</div>
)
}
export default MainLayout