# saas-admin **Repository Path**: hy_development_learning/saas-admin ## Basic Information - **Project Name**: saas-admin - **Description**: saas-admin是一款基于 Spring Boot 3.5 + Vue 3 + PostgreSQL + Redis 的 SaaS 管理后台系统。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-06-16 - **Last Updated**: 2026-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SaaS Admin 基于 **Spring Boot 3.5 + Vue 3 + PostgreSQL + Redis** 的 SaaS 管理后台系统。 ## 技术栈 | 层级 | 技术 | 版本 | |------|------|------| | 后端框架 | Spring Boot | 3.5.12 | | Java | Eclipse Temurin (JDK) | 25 | | ORM | MyBatis-Plus | 3.5.12 | | 权限认证 | Sa-Token | 1.40.0 | | API 文档 | Knife4j (OpenAPI 3) | 4.5.0 | | 缓存 | Redis + Caffeine | - | | 前端框架 | Vue 3 + Vite 7 | 3.5 / 7.3 | | UI 组件库 | Element Plus | 2.13 | | 状态管理 | Pinia | 3.0 | | 数据库 | PostgreSQL | 17 | | 邮件服务 | Spring Mail (SMTP) | - | ## 效果图 ![登录页](images/Snipaste_2026-04-05_02-11-42.png) ![系统首页](images/Snipaste_2026-04-05_02-12-03.png) ![用户管理](images/Snipaste_2026-04-05_02-12-13.png) ## 项目结构 ``` saas-admin/ ├── docker/ # Docker 部署配置 │ ├── Dockerfile.backend # 后端镜像构建 │ ├── Dockerfile.frontend # 前端镜像构建 │ ├── nginx.conf # Nginx 反向代理配置 │ └── docker-compose.yml # 一键编排启动 ├── saas-boot/ # Spring Boot 后端启动入口 ├── saas-generator/ # 代码生成器 ├── saas-service/ # 后端服务模块 └── saas-ui/ # Vue 3 前端 ├── package.json ├── vite.config.js └── src/ ├── api/ # 接口请求模块 ├── assets/ # 静态资源 ├── components/ # 公共组件 ├── config/ # 全局配置 ├── router/ # 路由 (静态 + 动态) ├── stores/ # Pinia 状态管理 ├── views/ # 页面视图 └── packages/ # 表单设计器等扩展包 ``` ## 快速开始 ### 环境要求 - JDK 25+ - Node.js ≥ 20.19 或 ≥ 22.12 - PostgreSQL 17+ - Redis 7+ ### 本地开发 **1. 启动数据库和缓存** 确保本地已安装并运行 PostgreSQL 和 Redis,或使用 Docker 快速启动: ```bash docker run -d --name pg \ -e POSTGRES_DB=db_saas_admin \ -e POSTGRES_USER=postgres \ -e POSTGRES_PASSWORD=postgresql \ -p 5432:5432 postgres:17-alpine docker run -d --name rd \ redis:7-alpine redis-server --requirepass 123456 ``` **2. 启动后端** ```bash cd saas-boot mvn spring-boot:run ``` 后端默认运行在 `http://localhost:9999`,API 文档:[http://localhost:9999/doc.html](http://localhost:9999/doc.html) **3. 启动前端** ```bash cd saas-vue npm install npm run dev ``` 前端默认运行在 `http://localhost:9998` ### Docker 一键部署(推荐) ```bash cd docker docker compose up -d --build ``` 启动后访问: | 服务 | 地址 | |------|------| | 🌐 前端页面 | http://localhost | | 🔧 后端 API | http://localhost:9999 | | 📖 API 文档 | http://localhost:9999/doc.html | | 🗄️ PostgreSQL | localhost:5432 | | ⚡ Redis | localhost:6379 | Docker 默认账号密码: | 服务 | 用户名 | 密码 | |------|--------|------| | PostgreSQL | `postgres` | `postgresql` | | Redis | - | `123456` | ## 功能模块 - **用户管理** — 用户 CRUD、角色分配 - **角色管理** — 角色定义、权限绑定 - **权限管理** — 菜单/按钮级别权限控制 - **动态路由** — 根据用户权限动态加载前端路由 - **表单设计器** — 可视化拖拽表单构建(`packages/form-design`) - **代码生成器** — 支持 MySQL / PostgreSQL 数据库表逆向生成代码 - **邮件服务** — 基于 SMTP 的邮件发送功能 - **主题切换** — 支持多套 UI 主题配置 ## 配置说明 ### 后端配置文件 | 文件 | 说明 | |------|------| | `application.yml` | 主配置(端口、Sa-Token、MyBatis-Plus 等) | | `application-dev.yml` | 开发环境(数据库/Redis 连接) | | `application-prod.yml` | 生产环境(数据库/Redis 连接) | ### 前端环境变量 | 文件 | 用途 | |------|------| | `.env.development` | 开发环境代理地址 | | `.env.production` | 生产环境 API 地址 | | `.env.test` | 测试环境 | ## 常用命令 ```bash # 后端 cd saas-boot mvn clean package -DskipTests # 打包(跳过测试) # 前端 cd saas-vue npm run dev # 开发模式 npm run build # 生产构建 npm run build:test # 测试环境构建 npm run lint # 代码检查 # Docker cd docker docker compose up -d --build # 构建并启动所有服务 docker compose down # 停止并移除容器 docker compose logs -f saas-boot # 查看后端日志 ``` ## License Apache License