Sitelet https://github.com/feiyuchuixue/sz-admin
Skip to content

Latest commit

 

History

365 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 | English

Sz-Admin

Sz-Admin

一套开源 RBAC 中后台管理脚手架,基于 Spring Boot 4、JDK 21、Vue 3、Vite 7 构建

GitHub Stars GitHub Forks Gitee Stars Gitee Forks License Ask DeepWiki

在线预览 | 快速开始 | 官方文档 | 前端仓库 | 部署脚本 | 更新日志 | v2.0.0 升级指南

项目介绍

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

  • 后端技术栈:Spring Boot 4、JDK 21、Sa-Token、MyBatis-Flex、Liquibase、Redis。
  • 前端技术栈:Vue 3、Vite 7、TypeScript、Element Plus、Pinia。
  • 内置能力:RBAC 权限、动态菜单、数据权限、代码生成器、字典、Excel、OSS、WebSocket、接口防抖。
  • 适用场景:企业后台、SaaS 管理端、二次开发脚手架、代码生成与快速原型、多数据库适配项目。

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

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

为什么选择 Sz-Admin

亮点 说明
现代技术栈 Spring Boot 4.x、JDK 21、Vue 3.5、Vite 7.3、TypeScript 5.2
贴近真实开发 来自实际中后台开发场景的持续实践,注重细节和开发体验,尽量降低使用者的心智负担
模块边界清晰 后端拆分 sz-commonsz-modulesz-service,官方能力和二开业务更容易隔离
升级友好 推荐自有业务独立成 sz-module-*,减少直接改官方核心模块带来的升级冲突
权限能力完整 用户、角色、菜单、按钮权限、动态路由、系统角色数据权限形成完整闭环
数据库适配明确 MySQL / PostgreSQL 二选一启用,数据权限方言、生成器和 Liquibase 脚本同步适配
开发效率更高 内置代码生成器、脚本预览、Excel、OSS、字典、WebSocket、接口防抖等常用能力
易维护、易协作 结构清晰、职责稳定,适合长期二开维护,也为后续结合 AI 辅助编码、vibe coding 等方式提供更容易理解和接手的工程基础

在线体验

入口 地址
官网 https://szadmin.cn
在线预览 https://preview.szadmin.cn
快速开始 https://szadmin.cn/md/Help/doc/info/start.html
更新日志 https://szadmin.cn/md/Help/doc/other/change-log.html
v2.0.0 升级指南 https://szadmin.cn/md/Help/doc/other/upgrade.html#v2-0-0

代码仓库

仓库 GitHub Gitee
后端 sz-boot-parent feiyuchuixue/sz-boot-parent feiyuchuixue/sz-boot-parent
前端 sz-admin feiyuchuixue/sz-admin feiyuchuixue/sz-admin
部署脚本 sz-deploy-v3 feiyuchuixue/sz-deploy-v3 feiyuchuixue/sz-deploy-v3

部署说明

当前推荐使用 sz-deploy-v3 作为服务器侧部署仓库。它基于 Docker Compose 组织运行环境,负责安装基础环境、创建 Docker 网络、生成服务目录、写入运行 .env,并启动 Redis、MySQL/PostgreSQL、MinIO、后端、WebSocket、前端静态服务和代理服务。

首次部署建议先阅读 部署总览Docker 快速部署sz-deploy-v3 当前优先适配 RockyLinux 10,其他 Linux 发行版需要按实际环境确认包管理器、防火墙、时区和系统服务差异。

快速部署入口:

wget https://raw.githubusercontent.com/feiyuchuixue/sz-deploy-v3/main/init/install.sh
wget https://raw.githubusercontent.com/feiyuchuixue/sz-deploy-v3/main/init/.env
# 按服务器环境修改 .env 后执行
bash install.sh

初始化后默认会在 /home/docker-compose 下生成 sz-service-adminsz-service-websocketsz-admin 等服务目录。普通升级执行服务目录下的 upgrade.sh;启用蓝绿部署时,sz-service-admin 会通过 gen-conf.shdeploy.sh 完成新旧实例切换,并依赖 /api/actuator/health 做健康检查。

GitHub Actions CI/CD 只负责构建并推送后端镜像,然后通过 SSH 触发服务器上 sz-deploy-v3 已生成的 upgrade.shdeploy.sh。接入 CI/CD 前,目标服务器必须先完成 sz-deploy-v3 初始化;数据库密码、Redis 密码、Sa-Token、OSS 等敏感配置应保存在服务器部署目录的 .envconfig/{profile} 中,而不是写入 workflow。

适合场景

  • 企业后台管理系统:账户、角色、菜单、部门、参数、字典、日志、资源等基础能力可直接使用。
  • 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

核心能力

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

技术栈

后端

技术 说明
Spring Boot 4.x 核心框架,主线已从历史 Spring Boot 3.x 升级到 4.x
JDK 21 当前主线运行时,后续会在生态稳定后持续评估新的 Java LTS
Sa-Token 轻量级 Java 权限认证框架
MyBatis-Flex MyBatis 增强框架,配合项目内数据库能力使用
Liquibase 数据库版本控制工具,替代历史 Flyway 主线
MySQL / PostgreSQL 数据库二选一启用,对应 sz-common-db-mysqlsz-common-db-postgresql
Redis 登录态、缓存、字典和部分同步能力
Springdoc OpenAPI 当前接口文档主线,使用 Swagger UI / OpenAPI JSON
AWS S3 SDK 兼容 S3 协议的对象存储接入,支持 MinIO、阿里云 OSS、腾讯云 OSS 等
FastExcel Excel 导入导出能力

前端

技术 说明
Vue 3.5.x 前端核心框架
Vite 7.3.3 前端开发与构建工具
TypeScript 5.2.x 类型约束和工程可维护性
Element Plus 2.14.x UI 组件库
Pinia 3.x 状态管理
Vue Router 5.x 路由管理
Axios 1.16.x HTTP 客户端,v2.0.0 使用 adminHttp / auditHttp / generatorHttp 区分接口域

项目结构

后端结构

sz-boot-parent/
├── sz-build               # Spring Boot 父版本、第三方依赖版本与 Maven 插件管理
├── sz-common              # 通用能力模块集合,与业务无关
│   ├── sz-common-core
│   ├── sz-common-db-core
│   ├── sz-common-db-mysql
│   ├── sz-common-db-postgresql
│   ├── sz-common-excel
│   ├── sz-common-log
│   ├── sz-common-oss
│   ├── sz-common-resource
│   └── sz-common-security
├── sz-module              # 业务模块集合,不直接启动
│   ├── sz-module-common
│   ├── sz-module-admin
│   └── sz-module-generator
└── sz-service             # 可独立部署的服务
    ├── sz-service-admin
    └── sz-service-websocket

扩展业务时,推荐新增独立 sz-module-* 模块,例如 sz-module-shopsz-module-crm,再由 sz-service-admin 或新的服务引入。这样可以让官方 RBAC、字典、资源、生成器等模块继续跟随版本升级,自有业务也能独立维护。

前端结构

sz-admin/
├── src
│   ├── api                # API 请求与接口类型,按业务域组织
│   ├── core               # 登录适配、模块注册、菜单组件解析等底座能力
│   ├── editions           # 产品版本组合入口,决定启用哪些模块能力
│   ├── modules            # 可组合业务模块,如 toolbox / generator
│   ├── views              # 传统页面目录,适合普通 CRUD 和动态路由兜底
│   ├── components         # 全局组件
│   ├── hooks              # 组合式复用逻辑
│   ├── stores             # Pinia 状态
│   ├── router             # 路由与守卫
│   └── config             # 前端常量与配置
├── package.json
└── vite.config.mts

前端 v2.0.0 保留 src/views 的低成本开发路径,普通系统管理页面、简单 CRUD 和一次性业务可以继续放在 src/views;具备独立领域、可选启用、派生项目复用或团队并行开发诉求的业务,建议放入 src/modules/<domain>,再通过 src/coresrc/editions 进行注册和组合。

动态菜单组件解析会按“模块显式注册 -> src/modules 约定路径 -> src/views 兜底”的顺序匹配。接口调用通过 adminHttp / auditHttp / generatorHttp 区分管理端、审计与生成器接口,并与 VITE_ADMIN_API_BASEVITE_AUDIT_API_BASEVITE_GENERATOR_API_BASE 保持一致。

环境要求

环境 要求
JDK 21
Maven 3.8+,推荐 3.9.x
数据库 MySQL 8.0.17+ 或 PostgreSQL 16+,二选一启用
Redis 7.x
Node.js >= 20.19.0,推荐 20.19.5
pnpm 10.17.1

快速启动

完整步骤请查看 快速开始文档。README 只保留最短启动路径。

后端

git clone https://github.com/feiyuchuixue/sz-boot-parent.git
cd sz-boot-parent
  1. 创建空数据库,例如 sz_admin_preview
  2. 修改 config/local/mysql.ymlconfig/local/postgresql.yml
  3. 默认使用 MySQL;如切换 PostgreSQL,需要同时修改 application.yml 中的 DB_TYPE=postgresql,并在 sz-service/sz-service-admin/pom.xml 中启用 sz-common-db-postgresql、注释 sz-common-db-mysql
  4. 修改 config/local/redis.yml
  5. 启动 sz-service/sz-service-admin 模块中的 com.sz.AdminApplication
  6. 如需 WebSocket 实时消息能力,另行启动 sz-service/sz-service-websocket

启动后常用地址:

能力 地址
后端服务 http://127.0.0.1:9991/api
管理端 API http://127.0.0.1:9991/api/admin/**
审计 API http://127.0.0.1:9991/api/audit/**
生成器 API http://127.0.0.1:9991/api/generator/**
Swagger UI http://127.0.0.1:9991/api/swagger-ui.html
健康检查 http://127.0.0.1:9991/api/actuator/health
WebSocket ws://127.0.0.1:9993/socket

v2.0.0 使用 Liquibase 管理数据库结构和初始化数据,首次启动会自动创建表结构。存量旧库升级不要直接套用快速开始流程,请先阅读 v2.0.0 升级指南

前端

git clone https://github.com/feiyuchuixue/sz-admin.git
cd sz-admin
corepack enable
corepack prepare pnpm@10.17.1 --activate
pnpm install
pnpm dev

本地开发常用 .env.development.local

VITE_USER_NODE_ENV=development
VITE_PUBLIC_PATH=/
VITE_ADMIN_API_BASE=/api/admin
VITE_AUDIT_API_BASE=/api/audit
VITE_GENERATOR_API_BASE=/api/generator
VITE_API_PROXY_TARGET=http://127.0.0.1:9991
VITE_APP_CLIENT_ID=195da9fcce574852b850068771cde034
VITE_ADMIN_BYPASS_PERMISSION=true
# VITE_SOCKET_URL=ws://127.0.0.1:9993/socket

前端启动后访问:

http://localhost:9848/

默认账号:

admin / sz123456

系统截图

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

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

文档导航

参与讨论

加入群聊

捐赠支持

Sz-Admin 基于 Apache License 2.0 开源发布。维护项目需要持续投入时间、精力和资源,如果 Sz-Admin 对你的工作或项目有帮助,欢迎通过 Star、Fork、Issue、PR 或捐赠表达支持。

请 Sz-Admin 作者喝咖啡

版权与品牌

源码遵循 Apache License 2.0。Sz-Admin 名称、Logo、横版品牌图、favicon 等品牌标识与源码授权相互独立;公开使用品牌资产时,请阅读 版权声明与使用说明

联系方式

  • 微信:xxmmly010(非诚勿扰)
  • 邮箱:feiyuchuixue@163.com

About

A modern enterprise admin frontend built with Vue 3, TypeScript, Vite 7, and Element Plus, featuring dynamic routing, permissions, themes, request wrappers, and reusable components.

Topics

Resources

Stars

226 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages