FssAdmin 企业级开源SaaS后台管理系统

路过人间

FssAdmin 企业级开源后台管理系统

<strong>FssAdmin 是一款开源企业级别的中后台管理系统,基于 Vue3、Vite、TypeScript、Pinia、Pinia持久化插件、Unocss 和 ElementPlus等前端最新技术栈。相较于其他比较流行的后台管理模板,更加简洁、快捷和容易理解,对萌新小白十分友好。此项目学习成本非常低含有相关代码注释以及大量的案例,非常适合企业级项目、中小型项目、个人项目以及毕业设计。后续将用户、角色、菜单、字典管理和通用管理平台页面依次编写,做到直接对接后端接口即可,使之快速开发,适合企业级的OA,ERM,ERP,政务系统等开发。</strong>

<p align="center">
<a href="#功能特性">功能特性</a> •
<a href="#技术栈">技术栈</a> •
<a href="#安装说明">安装说明</a> •
<a href="#模块介绍">模块介绍</a> •
<a href="#api接口文档">API接口</a> •
<a href="#项目结构">项目结构</a>
</p>


演示地址:https://v3.phpframe.org/ 账号:admin 密码: 123456

Github: https://github.com/xuey490/FssAdmin
Gitee : https://gitee.com/fsscms/FssAdmin

👨‍💻 Author

blue2004 (xuey863toy)
📧 Email: xuey863toy@gmail.com
🌐 GitHub: https://github.com/xuey490


<p align="center">
⭐ 如果这个项目对您有帮助,请给一个 Star!⭐
</p>


📖 项目简介

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 头像裁剪

🚀 安装说明

环境要求

软件 版本要求
PHP >= 8.3
Composer >= 2.0
MySQL/MariaDB >= 8.0
Redis >= 6.0
Node.js >= 20.19 (前端开发)
pnpm >= 8.8 (前端包管理)
Extensions redis, pdo_mysql, mbstring, json, openssl, gd, fileinfo

后端安装步骤

# 1. 克隆项目
git clone https://github.com/xuey490/FssAdmin.git
cd server

# 2. 安装 PHP 依赖
composer install

# 3. 编辑 .env 文件,配置数据库和 Redis 连接
vim .env
# 4. 编辑 config 文件,配置数据库和 Redis 连接 关键配置:

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=fssoa

DB_USERNAME=root

DB_PASSWORD=root
# 5. 导入数据库结构
mysql -u root -p fssoa < database/fssoa.sql

# 6. 设置目录权限 (Linux)
chmod -R 755 storage/
chmod -R 777 storage/logs/ storage/cache/

# 7. 启动服务 (Workerman 模式)
php server.php start

# 或使用传统 FPM 模式 (需配合 Nginx/Apache)
# php -S localhost:8000 -t public

前端安装步骤

# 1. 进入前端目录
cd web

# 2. 安装依赖
pnpm install

# 3. 启动开发服务器
pnpm dev

# 4. 构建生产版本
pnpm build

web/.env 关键配置:

VITE_BASE_URL=/
VITE_API_URL=/dev-api
VITE_API_PROXY_URL=http://localhost:8000
VITE_PORT=5730
VITE_VERSION=1.0.0

Windows 快速启动

# 双击或执行
start.bat

生产环境部署

# 1. 使用 Supervisor 管理 Workerman 进程
[supervisorctl]
program=novaphp
command=php server.php start
directory=/path/to/novaphp
autostart=true
autorestart=true
user=www-data

# 2. Nginx 反向代理 (FPM 模式)
server {
    listen 80;
    server_name yourdomain.com;
    root /path/to/novaphp/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:///run/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

演示图片

🤝 贡谢

核心依赖

项目 作者/组织 许可证
Symfony Components Symfony Community MIT
Workerman walkor MIT
Laravel Framework Taylor Otwell MIT
ThinkPHP liu21st Apache 2.0
Vue.js Evan You MIT
Element Plus Element Plus Team MIT
Casbin Tech Lead Apache 2.0
Vite Evan You & Team MIT
TailwindCSS Adam Wathan & Team MIT
ECharts Apache Apache 2.0
Pinia Vue Core Team MIT

特别感谢

  • PHP 社区 - 提供强大的语言基础
  • 开源社区 - 无数优秀库的支持
  • 贡献者 - 每一位为项目提交代码的开发者

📄 License

本项目基于 MIT 协议开源 - 详见 LICENSE 文件

171 0 0
0个评论

路过人间

300
积分
0
获赞数
0
粉丝数
2025-10-15 加入
🔝