基于SpringBoot打造的OA、CMS、ERP通用后台开发框架

苏季同
2023-12-01

项目介绍

一款 Java 语言基于 SpringBoot2.x、Layui、Thymeleaf、MybatisPlus、Shiro、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪、富文本编辑器等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架,框架已集成了完整的RBAC权限架构和常规基础模块,同时支持多主题切换,可以根据自己喜欢的风格选择想一个的主题,实现了个性化呈现的需求;

为了敏捷快速开发,提升研发效率,框架内置了一键CRUD代码生成器,自定义了模块生成模板,可以根据已建好的表结构(字段注释需规范)快速的一键生成整个模块的所有代码和增删改查等等功能业务,真正实现了低代码开发,极大的节省了人力成本的同时提高了开发效率,缩短了研发周期,是一款真正意义上实现组件化、低代码敏捷开发框架。

内置模块

  • 用户管理:用于维护管理系统的用户,常规信息的维护与账号设置。
  • 角色管理:角色菜单管理与权限分配、设置角色所拥有的菜单权限。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 职级管理:主要管理用户担任的职级。
  • 岗位管理:主要管理用户担任的岗位。
  • 部门管理:主要管理系统组织架构,对组织架构进行统一管理维护。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 字典管理:对系统中常用的较为固定的数据进行统一维护。
  • 配置管理:对系统的常规配置信息进行维护,网站配置管理功能进行统一维护。
  • 城市管理:统一对全国行政区划进行维护,对其他模块提供行政区划数据支撑。
  • 友链管理:对系统友情链接、合作伙伴等相关外链进行集成维护管理的模块。
  • 个人中心:主要是对当前登录用户的个人信息进行便捷修改的功能。
  • 广告管理:主要对各终端的广告数据进行管理维护。
  • 站点栏目:主要对大型系统网站等栏目进行划分和维护的模块。
  • 会员管理:对各终端注册的会员进行统一的查询与管理的模块。
  • 网站配置:对配置管理模块的数据源动态解析与统一维护管理的模块。
  • 通知公告:系统通知公告信息发布维护。
  • 代码生成:一键生成模块CRUD的功能,包括后端和前端Vue等相关代码。
  • 案例演示:常规代码生成器一键生成后的演示案例。

软件信息

核心组件

  • 上传单图
<widget:uploadSingleImage name="avatar|头像|90x90|admin|建议上传尺寸450x450|450x450" th:value="${info['avatar']}"/>
  • 下拉选择
<widget:singleSelect name="gender|1|性别|name|id" th:data="${USER_GENDER_LIST}" th:value="${info['gender']}?:3"/>
  • 部门选择组件
<widget:complexSelect name="deptId|0|部门|name|id" sql="SELECT id,`name` FROM sys_dept WHERE pid=? AND mark=1 ORDER BY sort ASC;" th:value="${info['deptId']}?:0"/>
  • 城市选择组件
<widget:citySingleSelect th:value="${info['districtId']} ?: 0" limit="3"/>
  • 个性化标签组件
<widget:tagsInput name="tags|1|4" data="['SpringBoot','Layui','MySQL','JQuery','Linux']" th:value="${info['tags']}"/>
  • 复选框组件
<widget:checkboxSingleSelect name="roleIds|name|id" sql="SELECT id,`name` FROM sys_role WHERE mark=1 ORDER BY sort ASC;" th:value="${info['roleIds']}?:[]"/>
  • 日期选择组件
<widget:dateSelect name="birthday|出生日期|date" th:value="${#dates.format(info['birthday'], 'yyyy-MM-dd')}"/>
  • 上传文件组件
<widget:uploadFile name="files|附件|user|5|xls,xlsx,doc,docx|10*1024" th:value="${info['files']}" />
  • 开关组件
<widget:switchCheck name="status" data="正常|禁用" th:value="${info['status']} ?: 1"/>
  • 图标选择组件
<widget:iconPicker name="icon" th:value="${info['icon']}?:'layui-icon-home'"/>
  • 下拉树组件
<widget:treeSelect name="pid|0|上级菜单|name|id" sql="SELECT id,`name`,pid FROM sys_menu WHERE `status`=1  AND type <=3 AND mark=1 ORDER BY pid ASC,id ASC;" th:value="${info['pid']}?:0"/>
  • 单选按钮组件
<widget:radioSelect name="target|name|id" data="1=内链,2=外链" th:value="${info['target']}"/>
  • 穿梭组件
<widget:transfer param="funcIds|0|全部节点,已赋予节点|name|id|220x350" data="1=查询,5=添加,10=修改,15=删除,20=状态,25=批量删除,30=全部展开,35=全部折叠,40=添加子级,45=导出数据,50=导入数据,55=分配权限,60=重置密码" th:value="${info['funcIds']}"/>

特别鸣谢

感谢MybatisPlus、Layui等优秀开源项目。

 类似资料: