FssAdmin 多租户saas开源后台管理系统
FssAdmin 企业级开源后台管理系统
FssAdmin 是一款开源企业级别的中后台管理系统,基于 Vue3、Vite、TypeScript、Pinia、Pinia持久化插件、Unocss 和 ElementPlus等前端最新技术栈。相较于其他比较流行的后台管理模板,更加简洁、快捷和容易理解,对萌新小白十分友好。此项目学习成本非常低含有相关代码注释以及大量的案例,非常适合企业级项目、中小型项目、个人项目以及毕业设计。后续将用户、角色、菜单、字典管理和通用管理平台页面依次编写,做到直接对接后端接口即可,使之快速开发,适合企业级的OA,ERM,ERP,政务系统等开发。
功能特性 • 技术栈 • 安装说明 • 模块介绍 • API接口 • 项目结构
演示地址:v3.phpframe.org/ 账号:admin 密码: 123456
Github: github.com/xuey490/FssAdmin
Gitee : gitee.com/fsscms/FssAdmin
👨💻 Author
blue2004 (xuey863toy)
📧 Email: xuey863toy@gmail.com
🌐 GitHub: github.com/xuey490
⭐ 如果这个项目对您有帮助,请给一个 Star!⭐
📖 项目简介
FSSADMIN 是一个基于FSSPHP 的现代化全栈框架,采用 Workerman 常驻内存引擎驱动,支持 多租户 SaaS 架构。项目包含:
- 后端框架: 自研轻量级 PHP 框架 (framework/)
- 前端应用: 基于 Vue 3 + Element Plus 的管理后台 (web/)
- 插件系统: 支持热插拔的功能扩展 (plugins/)
后端特点
| 特性 | 说明 |
|---|---|
| 🚀 高性能 | Workerman 常驻内存,比传统 PHP-FPM 性能提升 10 倍+ |
| 🏢 多租户 SaaS | 完整的租户隔离方案(数据行级隔离 + 菜单权限隔离) |
| 🔐 RBAC 权限 | 基于 多租户的 RBAC 权限控制模型 |
| 🔌 双 ORM 支持 | 同时支持 ThinkORM / Laravel ORM,(实验性阶段代码) |
| 🎨 Attribute 路由 | PHP 8 原生注解路由,自动扫描与缓存 |
| 🧩 插件系统 | 完整的插件生命周期管理(安装/卸载/启用/禁用) |
| 📦 代码生成器 | 一键生成 CRUD 模板,提升开发效率 |
前端特点
- 🎯 使用 Element Plus + Vite + Vue3 + TypeScript + Uncoss + Pinia 等主流技术。
- 🍊 多种布局和丰富的主题适配移动端、IPad和PC端。
- 🐼 内置权限管理页面,进行二次开发可直接对接后端接口即可。
- 🌸 集成登陆、注销及权限验证。
- 🎃 封装按钮和Input框的防抖、限流和背景水印以及左侧无限递归菜单。
- 🍀 集成
pinia,vuex 的替代方案,轻量、简单、易用,并且配置pinia持久化插件。 - 😍 二次封装Dialog对话框、Drawer抽屉、Notification通知、Message消息提示和Popconfirm确认框,操作更加方便快捷。
- 🍓 二次封装axios,方便接口更好的统一管理。
- 🌍 集成Echarts图表。
- 🌈 集成
unocss,antfu 开源的原子 css 解决方案,非常轻量。 - 🐟 集成多环境配置,dev、测试、生产环境。
- 🌼 集成
eslint + prettier,代码约束和格式化统一。 - 集成
stylelint,代码约束scss、less、css规范化。 - 👻 集成
mock接口服务。 - 🏡 集成
iconify图标,支持自定义 svg 图标, 优雅使用icon。
✨ 功能特性
用户与权限系统
- ✅ 多租户登录与切换
- ✅ JWT + Session 双认证模式
- ✅ 角色权限分配 (RBAC)
- ✅ 菜单动态路由
- ✅ 部门数据权限
- ✅ 岗位管理
- ✅ 操作日志 & 登录日志
系统管理
- ✅ 系统配置分组管理
- ✅ 数据字典维护
- ✅ 菜单管理(支持树形结构)
- ✅ 文件附件管理(支持分类)
- ✅ 定时任务管理 (Crontab)
- ✅ 数据库维护工具
- ✅ 服务器监控面板
- ✅ Redis 监控面板
- ✅ 缓存管理工具
开发工具
- ✅ 代码生成器(CRUD 模板生成)
- ✅ 数据库表结构导入
- ✅ 插件市场与管理终端
- ✅ 热重载开发模式
内容管理 (Article)
- ✅ 文章发布与管理
- ✅ 文章分类
- ✅ Banner 轮播图管理
安全防护
- ✅ CSRF Token 保护
- ✅ XSS 过滤中间件
- ✅ CORS 跨域配置
- ✅ 接口频率限制 (Rate Limit)
- ✅ Referer 来源检查
- ✅ IP 黑名单
- ✅ 测试环境写操作保护
🛠 技术栈
后端技术栈
| 类别 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 运行时 | PHP | ^8.3 | 要求 PHP 8.3+ |
| HTTP 服务 | Workerman | ^5.1 | 常驻内存引擎 |
| 备选模式 | PHP-FPM | - | 传统 CGI 模式 |
| 依赖注入 | Symfony DI | ^7.3 | 容器与服务 |
| HTTP 组件 | Symfony HTTPFoundation | ^7.3 | Request/Response |
| 路由组件 | Symfony Routing | ^7.3 | URL 匹配 |
| ORM (默认) | Illuminate Database | ^12.0 | Laravel Eloquent ORM |
| ORM (备选) | ThinkORM | ^4.0 | ThinkPHP ORM |
| 权限控制 | Casbin | ^4.1 | RBAC 权限模型 |
| JWT 认证 | Lcobucci JWT | ^5.6 | JSON Web Token |
| 模板引擎 | Twig | ^3.14 | 视图渲染 |
| 缓存 | ThinkCache + Redis | ^3.0 | PSR-16 缓存 |
| 会话 | Redis Group Session | - | 分布式 Session |
| 图像处理 | Intervention Image | ^3.11 | 图片处理 |
| Markdown | League Commonmark | ^2.6 | Markdown 解析 |
| 日志 | Monolog | ^3.9 | 结构化日志 |
| 队列 | Redis | - | 消息订阅 |
| UUID | Ramsey UUID | ^4.9 | 唯一标识 |
前端技术栈
| 类别 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 框架 | Vue.js | ^3.5 | 渐进式 JS 框架 |
| 构建工具 | Vite | ^7.1 | 下一代构建工具 |
| 语言 | TypeScript | ~5.6 | 类型安全的 JS |
| UI 组件库 | Element Plus | ^2.11 | Vue 3 组件库 |
| CSS 框架 | TailwindCSS | ^4.1 | 原子化 CSS |
| 状态管理 | Pinia | ^3.0 | Vue 状态库 |
| 路由 | Vue Router | ^4.5 | SPA 路由 |
| 多语言支持 | Vue I18n | ^9.14 | 多语言支持 |
| HTTP 客户端 | Axios | ^1.12 | HTTP 请求 |
| 图表 | ECharts | ^6.0 | 数据可视化 |
| 表格 | XLSX | ^0.18 | Excel 导入导出 |
| 编辑器 | WangEditor | ^5.1 | 富文本编辑器 |
| 视频播放 | XGPlayer | ^3.0 | 西瓜播放器 |
| 拖拽 | Vue Draggable Plus | ^0.6 | 拖拽排序 |
| 图标 | Iconify | ^5.0 | 图标库 |
| 加密 | CryptoJS | ^4.2 | 加密解密 |
| 二维码 | QRCode.vue | ^3.6 | 二维码生成 |
| 文件下载 | FileSaver | ^2.0 | 文件保存 |
| 代码高亮 | Highlight.js | ^11.0 | 语法高亮 |
| 图片裁剪 | Vue Img Cutter | ^3.0 | 头像裁剪 |
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: