前端开发指南
技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| React | 18.3.1 | UI 框架 |
| TypeScript | ~5.7.2 | 类型安全 |
| Vite | 6.0.3 | 构建工具和开发服务器 |
| TanStack React Query | 5.62.0 | 数据获取和缓存 |
| Zustand | 5.0.2 | 客户端状态管理 |
| react-router-dom | 7.0.2 | 路由 |
| Bootstrap | 5.3.8 | CSS 框架 |
| Chart.js | 4.4.7 | 数据可视化 |
| xterm.js | 6.0.0 | 终端模拟 |
| react-markdown | 10.1.0 | Markdown 渲染 |
项目结构
frontend/
├── public/ # 静态资源
├── src/
│ ├── main.tsx # 入口文件
│ ├── App.tsx # 根组件(含路由)
│ ├── api/ # API 客户端层
│ │ ├── client.ts # ApiClient(重试、超时、错误处理)
│ │ ├── auth.ts # 认证 API
│ │ ├── dashboard.ts # 仪表盘数据
│ │ ├── messages.ts # 消息浏览
│ │ ├── sessions.ts # 会话管理
│ │ ├── admin.ts # 用户管理
│ │ ├── analysis.ts # 数据分析
│ │ ├── remote.ts # 远程机器和会话
│ │ ├── governance.ts # 审计、内容过滤、安全
│ │ ├── tenant.ts # 多租户管理
│ │ ├── sso.ts # SSO 提供商管理
│ │ ├── prompts.ts # 提示词模板
│ │ ├── projects.ts # 项目管理
│ │ ├── toolAccounts.ts # 工具账户映射
│ │ └── index.ts # 统一导出
│ ├── components/
│ │ ├── common/ # 28 个共享 UI 组件
│ │ ├── layout/ # 布局容器(WorkLayout、ManageLayout)
│ │ ├── features/ # 页面级组件
│ │ │ ├── analysis/ # TrendAnalysis、AnomalyDetection、ROIAnalysis
│ │ │ ├── management/ # 14 个管理页面
│ │ │ ├── settings/ # SSOSettings
│ │ │ └── compliance/ # DataRetention、ComplianceReport
│ │ └── work/ # 工作模式专用组件
│ ├── hooks/ # React Query hooks
│ ├── store/ # Zustand 全局状态
│ ├── i18n/ # 国际化翻译(en/zh/ja/ko)
│ ├── types/ # TypeScript 接口
│ ├── utils/ # 格式化器、辅助工具
│ └── styles/ # CSS(Bootstrap 覆盖)
├── vite.config.ts # 构建配置
├── tsconfig.json
└── package.json
开发工作流
# 安装依赖
npm install
# 启动开发服务器(端口 3000,API 代理到 localhost:19888)
npm run dev
# 生产构建(输出到 ../static/js/dist/)
npm run build
# 运行测试
npm run test
# 代码检查
npm run lint
开发服务器运行在 3000 端口,/api 和 /auth 请求代理到 19888 端口的 Flask 后端。