简介
Guns是一款开源免费、功能全面的低代码开发平台,专为帮助企业快速构建各类后台管理系统设计,可有效提高开发人员开发效率,降低企业系统的开发成本。
系统内置用户体系、组织机构、角色权限、菜单资源、字典配置、登录日志、验证码、操作日志、文件上传、定时任务、在线用户、服务器监控等20+通用模块功能,拿来即用,开发者仅需专注业务开发,可极大缩短企业各类系统的开发周期。
系统采用前后端分离主流架构设计,基于Spring Boot+ Vue技术栈实现,支持单体架构和微服务架构的灵活切换,满足不同用户的使用需求。系统具备高拓展性,支持用户插件式拓展功能,并内置了常用的是多种插件工具供用户选择,是企业快速开发各类后台系统,搭建内部低代码平台的最佳选择之一。

功能列表
-
一体化代码生成:
-
完善 RBAC 权限管理:
-
用户管理:所有系统操作者的统一配置入口,支持多机构绑定、多机构切换功能,满足各种场景使用需求。
-
角色管理:内置系统角色、业务角色、公司角色三级角色体系。
-
菜单管理:支持配置系统菜单目录、操作按钮及权限标识,按应用区分多棵树的菜单结构,满足复杂场景下的使用需求。
-
部门管理:支持组织机构的树结构展现,数据权限按部门隔离。
-
数据权限:支持租户、部门、个人三级数据过滤,权限粒度可精确至按钮级和数据级。
-
-
通用功能模块:
-
工作流引擎:集成 Flowable 工作流引擎,可支持业务流程的灵活配置和动态流转。
-
多数据库适配:支持 MySQL、Oracle、PostgreSQL等多种主流数据库的灵活切换。
-
SSO 单点登录:支持统一身份认证和多系统间无缝登录。
-
任务调度:内置Quartz任务调度框架,可实现各种定时任务的配置和使用。
-
在线 API 接口管理:集成 Swagger 3,提供可视化的 API 接口文档和调试面板,方便前后端联调。
-
内置通知管理、业务日志、登录日志、监控管理等其他通用功能,开箱即用。
-
-
插件化拓展:
-
内置微服务、SSO统一认证、SaaS多租户、工作流、报表、支付、代码加密混淆等数十种插件功能,支持用户按需灵活装配。
-
插件之间采用低耦合设计,同一项目可灵活切换单体或微服务架构,适合中小型企业快速应用各类业务场景。
-
-
DevOps:
-
内置DevOps 运维平台,可实现持续集成和持续部署能力。
-
支持Docker部署,实现容器化运行环境快速搭建和使用。
-
内置Flyway数据库版本管理工具,支持数据库变更后自动执行,无需手动初始化SQL。
-
-
安全管理:
-
内置各类国密加解密算法的工具类,支持开箱即用。
-
支持黑白名单功能、密码安全策略配置支持(口令最小长度、失效策略等)、多次重试密码锁定用户功能,全方位保障系统安全。
-
功能截图
首页:

风格设计:

人员管理:

新建用户:

机构管理:

职位管理:

授权管理:

应用管理:

角色管理:

权限管理:

资源管理:

系统配置:

主题设计:

系统架构
项目结构::
├── guns-core/ # 核心包(基础功能、通用工具)
├── guns-system/ # 系统管理模块(用户、角色、菜单等)
├── guns-business/ # 业务模块(扩展功能、业务逻辑)
├── guns-generator/ # 代码生成模块
├── guns-front-project/ # Vue 3 前端项目
│ ├── src/ # 前端源码
│ ├── package.json # 前端依赖
│ └── vite.config.js # Vite 构建配置
├── guns-microservice/ # 微服务架构支持(可选)
└── guns-devops/ # DevOps 运维平台
技术栈:
前端框架:Vue + Ant Design Vue、Iconfont、Vite
后端框架:Spring Boot、MyBatis-Plus、Hutool、MySQL、Beetl、Quartz、Docker
数据库初始化:Flyway自动初始化表结构
快速开始
1、下载源码:链接:https://pan.quark.cn/s/6ead0b3839e5 提取码:Yb9B
2、启动前端:
前端项目位于 guns-front-project 目录下,使用 Node 20,并通过 yarn 启动。
cd guns-front-project
yarn
yarn run dev
打包命令:
npm run build
3、准备数据库:
在 MySQL 中创建 guns 数据库即可,项目集成了 Flyway,会自动初始化表结构。
CREATE DATABASE guns DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
4、修改后端配置:
修改 application-local.yml 中的数据库连接配置,让项目连接到自己的 MySQL 实例。
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/guns
username: root
password: your_password
5、启动后端:
打开 ProjectStartApplication,运行 main 方法即可启动后端服务。
cn.stylefeng.guns.ProjectStartApplication
6、登录系统:
初始化账号密码如下:
账号:admin
密码:123456
