介绍
Sz-Admin 是一套面向企业中后台、管理端系统和二次开发项目的开源脚手架。它由后端 sz-boot-parent、前端 sz-admin 和官网文档共同组成,目标不是堆功能,而是提供一套边界清晰、便于升级、适合扩展的基础工程。
v2.0.0 是一次面向兼容性和扩展性的结构性重构:后端形成 sz-common、sz-module、sz-service 三层边界,前端引入 src/core、src/editions、src/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,默认使用 adminHttp、auditHttp、generatorHttp 区分管理端、审计与生成器接口。
更多版本和依赖信息请阅读 技术选型。
核心能力
- 权限体系:内置用户、角色、菜单、按钮权限和动态路由,支持超级管理员兜底策略。
- 数据权限:支持按用户、部门、自定义范围等维度控制数据访问,当前主流程集成在系统角色授权中。
- 数据字典:支持框架内置字典、业务自定义字典、静态字典预热和动态字典按需加载。
- 代码生成器:支持读取表结构、配置字段、预览代码、导出菜单和初始化脚本。
- 数据库迁移:使用 Liquibase 管理框架、生成器、演示业务等模块级 changelog。
- 文件与 OSS:基于资源场景
sceneCode管理上传路径、访问方式和资源引用。 - Excel 导入导出:封装导入模板、失败记录、字典格式化、导出字段配置等常见能力。
- WebSocket:独立服务承载实时消息,支持多节点转发、心跳、鉴权失效处理。
- 接口防抖:内置重复请求防护能力,可按全局或接口维度配置。
扩展方式
后端推荐按业务域新增独立模块,官方 sz-module-audit、sz-module-generator 可以作为参考;客户自有业务也应新建独立 sz-module-*,再由 sz-service-admin 或新的服务引入。这样可以让官方 RBAC、字典、资源、生成器等模块继续跟随版本升级,自有业务也能独立维护。
前端普通 CRUD 页面可以继续放在 src/views;较大、可组合或派生项目专属的业务建议放到 src/modules/<domain>,并通过 src/editions 注册。动态菜单组件解析会按“模块注册表 -> src/modules 约定路径 -> src/views 兜底”的顺序查找。完整接入步骤见 独立业务模块接入指南。
在线体验
- 官网地址:https://szadmin.cn/
- 预览地址:https://preview.szadmin.cn/
- 后端仓库:
git clone https://github.com/feiyuchuixue/sz-boot-parent.gitgit clone https://gitee.com/feiyuchuixue/sz-boot-parent.git- 前端仓库:
git clone https://github.com/feiyuchuixue/sz-admin.gitgit clone https://gitee.com/feiyuchuixue/sz-admin.git- 部署脚本:
git clone https://github.com/feiyuchuixue/sz-deploy.gitgit clone https://gitee.com/feiyuchuixue/sz-deploy.git系统要求
| 环境 | 要求 |
|---|---|
| JDK | 21 |
| Maven | 3.8+ |
| Node.js | >= 20.19.0,推荐 20.19.5 |
| pnpm | 10.17.1 |
| 数据库 | MySQL 8.0.34+ 或 PostgreSQL,二选一启用 |
| Redis | 用于缓存、登录态和部分实时同步能力 |
系统截图
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
截图说明
部分截图仍沿用旧版页面,用于展示系统基础形态。v2.0.0 新增的字典来源、角色数据权限、脚本预览、模块化代码生成器等页面,后续可继续补充新版截图。













