# onflow-framework **Repository Path**: decentant/onflow-framework ## Basic Information - **Project Name**: onflow-framework - **Description**: 如流后端框架,一个基于Kotlin语言,类驱动数据库的高效率后端开发框架,并且拥有高效率的代码生成引擎,为您的开发和变更保驾护航。 - **Primary Language**: Kotlin - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 0 - **Created**: 2025-06-29 - **Last Updated**: 2026-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Onflow 如流后端开发框架 ## 介绍 基于 Kotlin + SpringBoot 3.x + JDK 21 的后端开发框架,支持虚拟线程提升吞吐量。核心依赖仅 MySQL + Redis,不引入多余中间件,降低项目启动门槛。 主要依赖:MyBatisPlus、Knife4j、Fastjson2、Hutool、POI、Okhttp3、AdvanceExcel **目标用户:** 快速搭建网站的个人开发者、中小型企业。 ## 特点 - 轻量级、高性能、可扩展、可定制 - JDK 21 虚拟线程,提升并发吞吐 - 代码简洁,controller 方法仅一行,service 基础方法不超过 4 行 - Entity 类驱动数据库,变更自动同步代码和数据库 - 超强代码生成器,后端 + 前端 + SQL 一站式生成,支持增量更新 - 按钮级权限控制,支持按角色精细化分配按钮显隐权限 - 支持 AI 对话,仅需配置 API Key 即可在管理后台中进行 AI 智能对话 - 支持多数据源,可同时连接 MySQL + PostgreSQL(可以换成其他数据源),打开secondary中的url注释即可生效 - 强大文件传输中心,支持 WebSocket 消息推送 ## 项目结构 ``` onflow-framework # 根模块,统一版本号 ├── onflow-core # 核心模块,含基础功能,直接引入即可开发 ├── onflow-generator # 代码生成模块,小项目引入此模块即可 ├── onflow-system # 系统模块(用户/角色/权限/菜单/部门/字典/日志/定时任务/文件等) │ ├── onflow-system-entity # 系统 Entity 类,供其他模块调用 │ ├── onflow-system-adaptor # 系统适配器,无接口依赖,可直接使用 │ ├── onflow-system-generator # 系统关联数据生成器 │ └── onflow-system-service # 系统 Service 层 ├── onflow-starter # 启动模块 │ ├── onflow-starter-boot # 单机启动 │ ├── onflow-starter-cloud # 集群启动(需 Nacos) │ └── onflow-starter-package # 打包模块 └── onflow-gateway # 网关模块(需 Nacos) ├── onflow-gateway-boot # 网关启动器 └── onflow-gateway-package # 网关打包模块 ``` ## 快速开始 **方式一:小项目** ```xml com.itdct.onflow onflow-generator 1.2-SNAPSHOT ``` **方式二:完整项目** ```xml com.itdct.onflow onflow-service 1.2-SNAPSHOT ``` **方式三:仅需系统基础功能(字典、账号、菜单等)** ```xml com.itdct.onflow onflow-adaptor 1.2-SNAPSHOT ``` **方式四:仅需 Entity 类(前台开发)** ```xml com.itdct.onflow onflow-entity 1.2-SNAPSHOT ``` 参考 [SysAccountEntity.kt](onflow-system%2Fonflow-system-entity%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fitdct%2Fonflow%2Fsystem%2Faccount%2Fentity%2FSysAccountEntity.kt) 创建 Entity,然后运行 [Main.kt](onflow-system%2Fonflow-system-generator%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fitdct%2Fonflow%2Fsystem%2Fgenerator%2FMain.kt) 生成接口代码。 ## 项目编译 ```shell mvn install ``` > JDK ≥ 21,Maven ≥ 3.9.9 ## 项目启动 ### 单机模式 1. 复制 [application-demo.yml](onflow-starter%2Fonflow-starter-boot%2Fsrc%2Fmain%2Fresources%2Fapplication-demo.yml) 为 `application-yourname.yml`,修改配置 2. 启动 [OnflowBoot.kt](onflow-starter%2Fonflow-starter-boot%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fitdct%2Fonflow%2FOnflowBoot.kt) ### 集群模式(需 Nacos) 1. 启动 Nacos 集群 2. 复制 [application-demo.yml](onflow-starter%2Fonflow-starter-cloud%2Fsrc%2Fmain%2Fresources%2Fapplication-demo.yml) 为 `application-yourname.yml`,修改 Nacos 配置 3. 将单机模式 `application-demo.yml` 内容导入 Nacos 并修改 4. 启动 [OnflowCloudBoot.kt](onflow-starter%2Fonflow-starter-cloud%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fitdct%2Fonflow%2FOnflowCloudBoot.kt) ### Gateway 需先启动 Nacos,再启动 [OnflowGatewayBoot.kt](onflow-gateway%2Fonflow-gateway-boot%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fitdct%2Fonflow%2Fgateway%2FOnflowGatewayBoot.kt) ## 项目部署 执行 `mvn package`,在 `onflow-starter-package/target/` 下生成 `tar.gz` 包,上传服务器后: ```shell tar -zxvf 项目名.tar.gz -C 目标路径 cd bin ./start.sh ``` > 集群模式需将配置先上传至 Nacos。 ## 技术栈 | 组件 | 版本 | |------|------| | JDK | ≥ 21 | | SpringBoot | 3.5.14 | | Kotlin | 2.2.20 | | Maven | ≥ 3.9.9 | | MySQL | ≥ 5.7 | | Redis | ≥ 6.0 | ## TODO - [ ] 菜单搜索跳转功能 - [ ] Excel 导入导出代码增量生成 - [ ] 短信发送 - [ ] 飞龙流程 ## 捐赠 ## 联系方式 - CSDN:[https://blog.csdn.net/DCTANT](https://blog.csdn.net/DCTANT) - 邮箱:2427746718@qq.com - QQ群:170618278