# Forgex **Repository Path**: coder_nai/forgex ## Basic Information - **Project Name**: Forgex - **Description**: Forgex 是一款专门针对企业级开发设计的一站式Java前后、安卓端管理快速开发平台,采用前后端分离架构。本脚手架力求将企业开发中经常遇到的需要自己去适配的难点问题,如前后端深度国际化、导入导出配置、精美页面样式、定时任务、工作流(审批流)、多环境部署、项目授权等;进行封装和实现,形成一套企业级可用的完整解决方案。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/coder_nai/forgex - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 3 - **Created**: 2026-01-07 - **Last Updated**: 2026-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, 多租户, 企业级脚手架, 前后安卓三端, 审批流 ## README # Forgex
Gitee Stars Gitee Forks OSS Compass Analyze
> 面向企业级生产制造行业的全栈开发脚手架与业务中台底座 > 文档版本:**V0.6.5** Forgex 是一个为制造业数字化项目准备的企业级全栈脚手架,重点服务需要集成 MES、WMS、QMS、设备接入、生产协同、报表分析、审批流于一体的生产制造企业MOM系统。它不是只提供登录页、菜单页和 CRUD 模板的通用后台,而是把生产制造项目里反复出现的组织权限、租户隔离、动态表格、数据字典、工作流、消息通知、报表、导入导出、文件上传、系统集成和私有化交付能力提前沉淀成平台底座。 ## 演示地址 - 在线演示: 想要体验 Forgex 的朋友,可以通过下方不同角色的邀请码自行注册账号,分别体验普通用户、部门经理和系统审计员视角下的菜单权限、业务入口和系统能力。 - 普通用户邀请码:`D83F9B1E` - 部门经理邀请码:`C40EDD46` - 系统审计员邀请码:`948F2D80` Forgex 内置对外用户注册系统,企业可以按角色、岗位或业务场景发放邀请码,为内部新人、项目成员或试用人员开放自助注册入口。新人通过邀请码完成账号创建、角色绑定和基础权限开通,无需系统管理员逐个手工创建用户,适合企业内部推广、试点上线、培训演示和分批启用场景。 ## 为什么不一样 很多团队需要的不仅是「如何更快做出标准增删改查页面」,还包括上线后长期命题:组织与权限持续调整、表格与字典随业务膨胀、**多语种展示与服务端提示一致**、**多租户隔离**、**审批与报表**、**原生移动办公**、**外部系统集成**,以及 **Windows / Linux 私有化现场** 的安装、升级与配置沉淀。Forgex 面向制造企业与 MOM 类项目,把上述能力尽量收拢到 **同一套微服务 + Web 管理端 + Android 骨架 + 构建交付工程** 中,降低重复造轮子与现场拼接成本。 ### 更丰富的平台能力(国际化、多租户、流程、报表、安卓、集成等) - **深度国际化**:Web 端默认 **简体 / 繁体 / 英文 / 日文 / 韩文**;与服务端 `LangContext`、模块化提示(如 `fx_i18n_message`)、字典与动态表格等元数据的 **JSON 多语 + 多级回退** 协同,减少「界面已切英文、报错仍是中文」的割裂;并提供「多语言输入」等企业维护形态。 - **多租户与多组织**:租户上下文透传、数据隔离、忽略规则、公共配置回退与租户侧基础配置,适配集团工厂、外包交付或 SaaS 式分域。 - **审批与工作流**:流程建模、发起与办理、待办 / 已办、业务回调,支撑质检、异常、报工、采购等制造企业常见签核链路扩展。 - **报表中心**:报表分类、数据源、模板管理与 **UReport2 / JimuReport** 接入,便于将统计与台账能力落在平台层而非零散脚本。 - **原生 Android**:`Forgex_Mobile_Android`(Kotlin、Jetpack Compose、Hilt、Retrofit、DataStore)、dev/test/prod 多环境与业务模块雏形,与同套 **网关 / 认证** 语义对齐,便于现场巡检、移动端待办延伸。 - **集成平台**:第三方系统、授权、API 定义、参数结构、出站调用、异步执行与调用日志,减少与 ERP、OA 等系统点对点硬编码胶水层。 - **列表与表单工程化**:`FxDynamicTable`、列与用户个性化偏好、字典渲染;Excel 导入导出、模板与下拉 Provider;头像 / Logo / 业务附件等多存储策略。 - **消息、任务与审计**:模板消息、站内消息、SSE;分布式任务调度;登录日志、操作日志与审计字段习惯约定。 以上为「为什么不一样」中的能力维度概括;逐项接口与配置细节见文末文档入口与各模块 README。 ### 更贴合私有化交付的部署方式(Windows / Linux) Forgex 在 **源代码之外** 提供与现场运维衔接的打包物与脚本链路,而非仅依赖开发人员本机拼凑环境: - **Windows 交付**:`Forgex_Build` 产出可视化安装与升级路径相关的 **ZIP 包**,内含前端静态资源、后端 JAR、**内置 Nginx**、**自带 Windows JRE**、**控制中心**、**授权请求客户端**、`Nacos` 配置快照、数据库 **初始化脚本**与 **upgrade** 脚本,适合工厂内网一体机或桌面服务端快速落地。 - **Linux 交付**:提供 **Tar 包**、`install.sh`、Nginx 配置模板与同套升级与数据库脚本,可与 Docker Compose、systemd 或客户现有运维规范组合部署。 具体操作命令与目录说明仍以本文「部署方式」章节与 [部署文档](./Forgex_Doc/部署/README.md) 为准。 ### 更体系化的文档(实现逻辑 × 使用方式) `Forgex_Doc` 为正式对外文档中心,按 **前端、后端、安卓、数据库、部署、开发规范** 等分册维护;前端重要能力多采用 **「实现逻辑 + 使用方式」** 成对编写,便于二开接手、测试与运维排障对齐同一事实来源。总入口:[文档中心](./Forgex_Doc/README.md)。 ### 深度国际化(不止两份 `locale` JSON) Forgex 的国际化目标是 **用户在界面改语言以后,字典标签、表格列头、服务端错误提示和业务配置尽量一起走同一套语言链路**,尽量避免「界面是英文,提示仍是中文」的割裂: - **Web 前端**:Vue I18n 多语种语言包(简 / 繁 / 英 / 日 / 韩),并与 Ant Design Vue 语种资源协同。 - **后端统一语境**:请求链路通过语言上下文传递到各微服务,`fx_i18n_message` 等机制支撑 **模块化提示编码 + 多语 JSON**,并带有多级回退顺序(当前语种 → 主语言 → 中文等)。 - **数据与元数据**:数据字典标签、动态表格等平台级配置支持基于 JSON 的多语展示文本,适配「同一套字典要在五个语种下可读」的运营需求。 - **产品化录入**:前端提供「多语言输入」等企业录入形态(详见 [国际化与布局](./Forgex_Doc/前端/国际化与布局/README.md)),便于业务字段在多语环境下维护。 - **旧页面兼容**:对历史硬编码文案提供兼容迁移路径(如 `legacyI18n` 相关约定),新项目则推荐统一走标准 `t(...)` / 服务端提示链路。 Forgex 将 **界面语种、字典与平台元数据文案、服务端统一提示** 放在同一链路中设计,更贴合跨国集团与多语种运维并存的交付场景。 ### 三端协同:Web × 微服务后端 × Android Forgex 的「三端」指:**Web 管理端**、**可独立演进的 Java 微服务集群**、**原生 Android 客户端骨架**,共用认证与网关语义: - **Web**:`Forgex_Fronted`(Vue 3 + TypeScript + Vite)。 - **后端**:以 `Forgex_Gateway` 为统一入口,`Forgex_Auth` / `Forgex_Sys` / `Forgex_Workflow` / `Forgex_Integration` / `Forgex_Report` 等拆分职责(详见下文项目结构)。 - **Android**:`Forgex_Mobile_Android` dev/test/prod 多环境与设备类型约定,示例模块覆盖登录、首页、工作流、消息、个人中心等,可直接作为企业 App 工程起点。 三端对齐后,团队在 **会话与权限语义、发版边界、现场安全策略** 上更容易统一规划,同时为 **原生系统能力(推送、离线、系统集成)** 保留清晰扩展面。 ### 页面样式与交互体验(精致现代 B 端) 在 Ant Design Vue 体系之上,Forgex 对「第一眼观感」做了工程化收口: - **主题系统**:围绕 Design Token 的浅色 / 深色主题与语义色梯度,Brand 色可系统化替换(详见 `Forgex_Fronted/src/theme/README.md`)。 - **布局与导航**:支持多种菜单与顶栏形态,适配不同组织架构下的信息架构偏好。 - **工作台个性化**:首页支持组件拖拽排序、组件尺寸与个人显隐偏好,更接近业务人员日常「自己的驾驶舱」而非固定死板的示例页。 - **数据密集场景**:在列表、查询、导出、字典渲染上以 `FxDynamicTable`、公共弹窗体系等为主线,兼顾 **效率与一致性**。 详见 [前端文档](./Forgex_Doc/前端/README.md) 与 [主题说明](./Forgex_MOM/Forgex_Fronted/src/theme/README.md)。 ## 功能能力 ### 后端能力 | 模块 | 能力 | |---|---| | 认证与授权 | 登录、注册、登出、验证码、密码加密、权限校验、动态路由、第三方登录预留 | | 用户与组织 | 用户、角色、部门、岗位、菜单、角色授权、人员授权 | | 多租户 | 租户隔离、租户上下文传递、租户忽略配置、公共配置回退 | | 数据字典 | 树形字典、字典标签、多语言字典值、二级缓存 | | 动态表格 | 表格配置、列配置、查询配置、用户个性化列配置 | | 导入导出 | Excel 导入、Excel 导出、模板下载、下拉选项 Provider | | 文件上传 | 本地、OSS、MinIO 存储策略,头像、Logo、业务文件归属记录 | | 工作流 | 流程配置、发起审批、审批处理、待办/已办、业务回调 | | 报表中心 | 报表分类、数据源、模板管理、UReport2/JimuReport 集成 | | 集成平台 | 第三方系统、授权配置、API 配置、参数映射、调用日志 | | 消息通知 | 站内消息、模板消息、SSE 推送 | | 审计与日志 | 登录日志、操作日志、审计字段自动填充 | ### 前端能力 | 模块 | 能力 | |---|---| | 管理端框架 | Vue 3、TypeScript、Vite、Ant Design Vue、Pinia、Vue Router | | 请求与反馈 | 统一 HTTP 客户端、自动成功/失败提示、静默请求模式 | | 配置驱动页面 | `FxDynamicTable`、列设置、字典渲染、分页排序、用户列偏好 | | 公共组件 | 公共弹窗、字典标签、图标选择器、部门树、导入组件 | | 国际化 | 简体中文、繁体中文、英文、日文、韩文 | | 个性化布局 | 个人首页拖拽布局、组件排序、尺寸调整、显隐控制 | | 认证入口 | 登录、注册、邀请码注册、不同角色体验入口 | ### 移动端骨架 | 模块 | 能力 | |---|---| | Android 工程 | Kotlin、Jetpack Compose、Hilt、Retrofit、DataStore | | 基础模块 | 登录、首页、工作流、消息、个人中心 | | 环境支持 | dev/test/prod 多环境配置、设备类型识别 | ## 技术栈 ### 后端 | 技术 | 版本 | 用途 | |---|---|---| | Java | 17 | 开发语言 | | Spring Boot | 3.5.6 | 应用框架 | | Spring Cloud | 2025.0.0 | 微服务框架 | | Spring Cloud Alibaba | 2025.0.0.0-preview | 微服务套件 | | Sa-Token | 1.44.0 | 权限认证 | | MyBatis-Plus | 3.5.14 | ORM | | MyBatis-Plus-Join | 1.5.4 | 联表查询 | | Dynamic Datasource | 4.3.1 | 动态数据源 | | Snail-Job | 1.8.1 | 分布式任务调度 | | FastExcel | 1.3.0 | Excel 处理 | | UReport2 | 2.2.10 | 报表引擎 | | JimuReport | 1.9.0 | 积木报表 | ### 前端 | 技术 | 版本 | 用途 | |---|---|---| | Vue | 3.5.26 | 前端框架 | | TypeScript | 5.6.3 | 类型系统 | | Vite | 5.4.3 | 构建工具 | | Ant Design Vue | 4.2.6 | UI 组件库 | | Pinia | 3.0.4 | 状态管理 | | Vue Router | 4.3.0 | 路由管理 | | Vue I18n | 9.14.0 | 国际化 | | Formily | 2.3.7 | 表单能力 | | ECharts | 6.0.0 | 图表 | | Three.js | 0.182.0 | 3D 渲染 | ## 项目结构 ```text forgex ├─ Forgex_Doc # 文档中心 ├─ Forgex_Build # 构建、打包、部署与升级工程 ├─ Forgex_MOM # 主工程 │ ├─ Forgex_Backend # 后端微服务 │ │ ├─ Forgex_Gateway # 网关服务 │ │ ├─ Forgex_Auth # 认证服务 │ │ ├─ Forgex_Sys # 系统服务 │ │ ├─ Forgex_Basic # 基础资料服务 │ │ ├─ Forgex_Job # 任务调度服务 │ │ ├─ Forgex_Workflow # 工作流服务 │ │ ├─ Forgex_Integration # 集成平台服务 │ │ └─ Forgex_Report # 报表服务 │ ├─ Forgex_Fronted # Web 管理端 │ └─ Forgex_Mobile_Android # Android 移动端骨架 └─ logs # 本地日志目录 ``` ## 启动方式 ### 环境要求 - JDK 17+ - Maven 3.6+ - Node.js 18+ - MySQL 8.0+ - Redis 6.0+ - Nacos 2.x - RocketMQ 5.x ### 初始化数据库 数据库初始化脚本位于 `Forgex_Doc/部署/数据库初始化脚本`,升级包中的升级 SQL 位于 `database-upgrade/`。首次部署先导入初始化脚本;已有环境升级时,先备份数据库,再按升级包说明和 SQL 文件名顺序执行需要的升级脚本。 ### 启动后端 ```bash cd Forgex_MOM/Forgex_Backend mvn clean install ``` 按实际场景启动以下服务: - `Forgex_Gateway` - `Forgex_Auth` - `Forgex_Sys` - `Forgex_Basic` - `Forgex_Job` - `Forgex_Workflow` - `Forgex_Integration` - `Forgex_Report` ### 启动前端 ```bash cd Forgex_MOM/Forgex_Fronted npm install npm run dev ``` 默认本地地址: - 前端:`http://localhost:5173` - 网关:`http://localhost:8000` ### 构建 Android ```bash cd Forgex_MOM/Forgex_Mobile_Android gradlew.bat :app:assembleDevDebug ``` ## 部署方式 ### Windows 交付 `Forgex_Build` 提供 Windows 交付包和安装脚本,交付包包含前端静态资源、后端服务 JAR、Windows JRE、内置 Nginx、控制中心、授权请求客户端、Nacos 配置、数据库初始化脚本和数据库升级脚本。 ```powershell cd Forgex_Build powershell -ExecutionPolicy Bypass -File build-all.ps1 -Version 0.6.5 -AllowDistFallback ``` 构建后主要产物: - `Forgex_Build/dist/windows/Forgex-Windows-Package-0.6.5.zip` - `Forgex_Build/dist/linux/forgex-linux-bundle-0.6.5.tar.gz` Windows 首次部署时,解压交付包后按安装器或 `scripts` 目录中的脚本完成安装、数据库导入、Nacos 配置导入和服务启动。已有环境升级时,使用新包中的 `scripts/upgrade.bat` 或 `scripts/upgrade.ps1` 替换应用文件,并在数据库备份后按需执行 `database-upgrade` 里的 SQL。 ### Linux 交付 Linux 交付包包含前端、后端服务、Nginx 配置模板、Nacos 配置、授权客户端和部署脚本。解压后通过 `install.sh` 初始化目录和环境变量,再结合 Docker Compose 或现场服务管理方式启动后端服务。 ```bash tar -zxvf forgex-linux-bundle-0.6.5.tar.gz cd forgex-linux-bundle-0.6.5 ./install.sh ACME_PROD yanshi ``` 详细部署说明见 [部署文档](./Forgex_Doc/部署/README.md)。 ## 文档入口 - [文档中心首页](./Forgex_Doc/README.md) - [开发规范](./Forgex_Doc/开发规范/README.md) - [后端文档](./Forgex_Doc/后端/README.md) - [前端文档](./Forgex_Doc/前端/README.md) - [安卓端文档](./Forgex_Doc/安卓端/README.md) - [数据库文档](./Forgex_Doc/数据库/README.md) - [部署文档](./Forgex_Doc/部署/README.md) ## 联系方式 - QQ:3096821283 - Email:coder_nai@163.com ## 许可证 [Apache 2.0](./LICENSE)