Skip to main content

前端工程结构

目录结构

根目录结构

innospots-ui/
├── .env # 环境变量配置
├── .eslintrc.js # ESLint 代码规范配置
├── .gitignore # Git 忽略文件配置
├── .prettierrc # Prettier 代码格式化配置
├── README.md # 项目说明文档
├── package.json # 项目依赖和脚本配置
├── tsconfig.json # TypeScript 配置
├── pom.xml # Maven 配置文件(用于 WebJar 打包)
├── config/ # 项目配置目录
│ ├── DefaultSettings.ts # 默认设置配置
│ ├── config.ts # 主配置文件
│ ├── routes.ts # 路由配置
│ ├── proxy.ts # 代理配置
│ └── themes/ # 主题配置
├── mock/ # Mock 数据
├── public/ # 静态资源目录
│ ├── icons/ # 图标文件
│ ├── oauth/ # OAuth 相关静态文件
│ └── static/ # 其他静态资源
└── src/ # 源码目录

关键文件说明

  • package.json: 项目依赖管理和构建脚本配置
  • pom.xml: Maven 配置,用于将前端构建产物打包成 WebJar 格式
  • config/routes.ts: 应用路由配置,定义了所有页面的路由规则
  • config/config.ts: UMI 框架主配置文件
  • .env: 环境变量配置文件
  • tsconfig.json: TypeScript 编译配置

src 源码目录模块

核心模块

📁 pages/ - 页面组件

业务页面组件目录,包含所有功能页面:

  • App/ - 应用管理相关页面
  • Workflow/ - 工作流管理页面
  • DataImport/ - 数据导入页面
  • Metadata/ - 元数据管理页面
  • Organization/ - 组织管理页面
  • System/ - 系统配置页面
  • Schedule/ - 调度管理页面
  • Tasks/ - 任务管理页面
  • Login/ - 登录页面
  • 403.tsx, 404.tsx - 错误页面

📁 components/ - 公共组件

可复用的 UI 组件库:

  • AceCodeEditor/ - 代码编辑器组件
  • Chat/ - 聊天组件
  • DataSourceModal/ - 数据源配置弹窗
  • Expression/ - 表达式编辑器
  • IconSelect/ - 图标选择器
  • ListTable/ - 列表表格组件
  • PageDesign/ - 页面设计器
  • RichTextBox/ - 富文本编辑器
  • UserAvatar/ - 用户头像组件
  • widget/ - 小部件组件集合

📁 services/ - 服务层

API 接口服务模块,与后端接口对接:

  • Account.ts - 账户相关接口
  • DataSource.ts - 数据源接口
  • Workflow.ts - 工作流接口
  • User.ts - 用户管理接口
  • App.ts - 应用管理接口
  • RBAC.ts - 权限控制接口

📁 models/ - 数据模型

状态管理和数据模型定义:

  • User.ts - 用户数据模型
  • App.ts - 应用数据模型
  • Workflow.ts - 工作流数据模型
  • DataSource.ts - 数据源模型
  • RBAC.ts - 权限模型

📁 layouts/ - 布局组件

页面布局组件:

  • BasicLayout/ - 基础布局(包含侧边栏、头部)
  • FullScreenLayout/ - 全屏布局
  • SeniorLayout/ - 高级布局

支撑模块

📁 common/ - 公共模块

  • constants/ - 常量定义
  • hooks/ - 自定义 React Hooks
  • request/ - 请求封装
  • types/ - TypeScript 类型定义
  • utils/ - 工具函数

📁 assets/ - 静态资源

  • images/ - 图片资源
  • js/ - JavaScript 文件
  • less/ - 样式文件

📁 config/ - 配置文件

  • DefaultSettings.ts - 默认配置
  • tokens.ts - 令牌配置
  • globalActions/ - 全局操作配置

📁 utils/ - 工具模块

  • format.ts - 格式化工具函数

📄 核心文件

  • app.ts - 应用入口配置
  • access.ts - 权限控制配置
  • global.less - 全局样式

项目依赖

核心框架依赖

模块名称说明
@umijs/maxUMI 企业级前端开发框架
reactReact 用户界面构建库
react-domReact DOM 渲染库
antdAnt Design 企业级 UI 组件库
@ant-design/iconsAnt Design 图标库
@ant-design/compatibleAnt Design 兼容性组件

图表与可视化

模块名称说明
echartsApache ECharts 图表库
echarts-for-reactECharts 的 React 封装
echarts-wordcloudECharts 词云插件
@antv/x6AntV X6 图编辑引擎
@antv/x6-react-componentsX6 React 组件
@antv/x6-react-shapeX6 React 图形

编辑器组件

模块名称说明
ace-buildsAce 代码编辑器
react-aceAce 编辑器的 React 封装
braft-editor富文本编辑器
braft-extensions富文本编辑器扩展
braft-finder富文本编辑器查找器
braft-utils富文本编辑器工具

表单与数据处理

模块名称说明
form-render动态表单渲染器
fr-generator表单生成器
json-rules-engineJSON 规则引擎
@microlink/react-json-viewJSON 数据查看器

国际化与本地化

模块名称说明
i18next国际化框架
i18next-browser-languagedetector浏览器语言检测
react-i18nexti18next 的 React 集成
flag-icons国旗图标库

UI 增强组件

模块名称说明
react-color颜色选择器
react-grid-layout网格布局组件
react-split-pane分割面板组件
react-sortablejs拖拽排序组件
sortablejs拖拽排序库
re-resizable可调整大小组件
@udidu/timeline时间线组件

文档与内容处理

模块名称说明
react-markdownMarkdown 渲染器
react-syntax-highlighter语法高亮组件
rehype-documentHTML 文档处理
rehype-highlight代码高亮处理
rehype-raw原始 HTML 处理
rehype-starry-night星空主题高亮
rehype-stringifyHTML 字符串化
remark-gfmGitHub 风格 Markdown
remark-parseMarkdown 解析
remark-rehypeMarkdown 到 HTML 转换
remark-toc目录生成

工具库

模块名称说明
lodashJavaScript 工具库
lodash-decoratorsLodash 装饰器
lodash.debounce防抖函数
lodash.isequal深度比较
moment日期时间处理库
moment-timezone时区处理
classnamesCSS 类名工具
immutability-helper不可变数据助手
omit.js对象属性过滤

网络与通信

模块名称说明
umi-requestUMI 请求库
@microsoft/fetch-event-source服务器发送事件客户端
ahooksReact Hooks 工具库

安全与加密

模块名称说明
jsencryptRSA 加密库
js-base64Base64 编码解码

其他功能

模块名称说明
qiankun微前端框架
copy-text-to-clipboard剪贴板复制
html2pdf.jsHTML 转 PDF
print-js打印功能
sql-formatterSQL 格式化
tributejs提及功能
@multiavatar/multiavatar头像生成器
react-helmet文档头部管理
react-helmet-async异步头部管理
react-dev-inspector开发调试工具
react-iconsReact 图标库

开发依赖

模块名称说明
typescriptTypeScript 编译器
@types/reactReact 类型定义
@types/react-domReact DOM 类型定义
prettier代码格式化工具
huskyGit hooks 工具
lint-staged暂存文件检查
lessLess CSS 预处理器