Skip to content
Sz-Admin
v2.0.1

基于 Spring Boot 3.x Spring Boot 4.x、JDK 21、Vue 3 的轻量级中后台脚手架

GitHub StarsGitHub ForksGitee StarsGitee ForksLicenseAsk DeepWiki

介绍

Sz-Admin 是一套面向企业中后台、管理端系统和二次开发项目的开源脚手架。它由后端 sz-boot-parent、前端 sz-admin 和官网文档共同组成,目标不是堆功能,而是提供一套边界清晰、便于升级、适合扩展的基础工程。

v2.0.0 是一次面向兼容性和扩展性的结构性重构:后端形成 sz-commonsz-modulesz-service 三层边界,前端引入 src/coresrc/editionssrc/modules 等模块化入口,让数据库、业务模块、登录适配、页面组合和派生项目接入都具备更清晰的扩展空间。对于二次开发项目来说,推荐把自有业务放进独立模块,从而减少与官方核心代码的耦合,也更利于后续升级。

名称由来

在接触和使用许多优秀的开源、闭源项目后,我也逐渐感受到一些后台系统在灵活性、简洁性和开发效率上的取舍并不总是令人满意。于是,我利用休息时间打磨出这套后台管理系统,希望它保持轻量、清晰、高效,同时积极拥抱新的技术体系。

Sz-Admin 也可以理解为“升职 Admin”,寓意升职加薪、节节高。它希望把常见后台能力整理成一套轻量、直观、可维护的工程底座,让开发者把更多精力放回业务本身。

适合场景

  • 企业后台管理系统:账户、角色、菜单、部门、参数、字典、日志、资源等基础能力可直接使用。
  • SaaS 管理端:可基于系统角色、菜单权限、数据权限和模块注册能力继续扩展业务域。
  • 二次开发脚手架:官方模块与业务模块边界清晰,适合长期跟随框架升级。
  • 代码生成与快速原型:内置代码生成器,可生成常见 CRUD、导入导出、菜单和初始化脚本。
  • 数据库适配项目:当前主线对 MySQL 与 PostgreSQL 做了适配优化,部署时二选一启用对应数据库模块。

v2.0.0 重点变化

方向变化
后端模块新增 sz-module 层,sz-module-admin 承载后台业务,sz-service-admin 只负责启动和装配
数据库版本主线切换为 Liquibase,按模块维护 changelog,便于多模块演进
数据库兼容数据权限、代码生成器、初始化脚本同步适配 MySQL / PostgreSQL;运行时按数据库模块二选一启用
数据权限配置入口合并到系统角色授权,菜单维度保存功能权限和数据范围
字典体系新增字典来源 sys_dict_source,区分框架内置和业务自定义字典
代码生成器后端迁移到 sz-module-generator,前端迁移到 src/modules/toolbox
前端架构新增 edition、模块注册、登录适配器和多 HTTP 实例,支持派生项目组合
会话处理前端统一处理 HTTP 401、业务码 C105、blob 下载错误和 WebSocket 4401

技术栈概览

后端历史版本曾基于 Spring Boot 3.x 演进,v2.0.0 主线已切换为 Spring Boot 4.x,并继续使用 JDK 21、Sa-Token、MyBatis-Flex、Liquibase、Redis、Springdoc OpenAPI、Jackson 3、FastExcel 和兼容 S3 协议的对象存储能力。

JDK 版本选择上,官方会持续跟进 Java LTS 版本,但不会在新 LTS 发布后立即切换主线。当前选择 JDK 21,是因为它已经具备更成熟的生态适配和生产验证;JDK 25 后续也会纳入支持计划,但会等待一段更充分的稳定观察期,确认框架依赖、构建工具、运行环境和常见部署场景都足够平稳后再推进。

前端主线基于 Vue 3、Vite 7、TypeScript、Element Plus、Pinia、Vue Router、Vue I18n 和 Axios,默认使用 adminHttpauditHttpgeneratorHttp 区分管理端、审计与生成器接口。

更多版本和依赖信息请阅读 技术选型

核心能力

  • 权限体系:内置用户、角色、菜单、按钮权限和动态路由,支持超级管理员兜底策略。
  • 数据权限:支持按用户、部门、自定义范围等维度控制数据访问,当前主流程集成在系统角色授权中。
  • 数据字典:支持框架内置字典、业务自定义字典、静态字典预热和动态字典按需加载。
  • 代码生成器:支持读取表结构、配置字段、预览代码、导出菜单和初始化脚本。
  • 数据库迁移:使用 Liquibase 管理框架、生成器、演示业务等模块级 changelog。
  • 文件与 OSS:基于资源场景 sceneCode 管理上传路径、访问方式和资源引用。
  • Excel 导入导出:封装导入模板、失败记录、字典格式化、导出字段配置等常见能力。
  • WebSocket:独立服务承载实时消息,支持多节点转发、心跳、鉴权失效处理。
  • 接口防抖:内置重复请求防护能力,可按全局或接口维度配置。

扩展方式

后端推荐按业务域新增独立模块,官方 sz-module-auditsz-module-generator 可以作为参考;客户自有业务也应新建独立 sz-module-*,再由 sz-service-admin 或新的服务引入。这样可以让官方 RBAC、字典、资源、生成器等模块继续跟随版本升级,自有业务也能独立维护。

前端普通 CRUD 页面可以继续放在 src/views;较大、可组合或派生项目专属的业务建议放到 src/modules/<domain>,并通过 src/editions 注册。动态菜单组件解析会按“模块注册表 -> src/modules 约定路径 -> src/views 兜底”的顺序查找。完整接入步骤见 独立业务模块接入指南

在线体验

shell
git clone https://github.com/feiyuchuixue/sz-boot-parent.git
shell
git clone https://gitee.com/feiyuchuixue/sz-boot-parent.git
  • 前端仓库:
shell
git clone https://github.com/feiyuchuixue/sz-admin.git
shell
git clone https://gitee.com/feiyuchuixue/sz-admin.git
  • 部署脚本:
shell
git clone https://github.com/feiyuchuixue/sz-deploy.git
shell
git clone https://gitee.com/feiyuchuixue/sz-deploy.git

系统要求

环境要求
JDK21
Maven3.8+
Node.js>= 20.19.0,推荐 20.19.5
pnpm10.17.1
数据库MySQL 8.0.34+ 或 PostgreSQL,二选一启用
Redis用于缓存、登录态和部分实时同步能力

系统截图

登录页home页
账户管理角色管理
菜单管理字典管理
配置管理客户端管理
部门管理代码预览
代码生成配置1代码生成配置2

截图说明

部分截图仍沿用旧版页面,用于展示系统基础形态。v2.0.0 新增的字典来源、角色数据权限、脚本预览、模块化代码生成器等页面,后续可继续补充新版截图。

继续阅读