<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>
blue2004 (xuey863toy)
📧 Email: xuey863toy@gmail.com
🌐 GitHub: https://github.com/xuey490
<p align="center">
⭐ 如果这个项目对您有帮助,请给一个 Star!⭐
</p>
FSSADMIN 是一个基于FSSPHP 的现代化全栈框架,采用 Workerman 常驻内存引擎驱动,支持 多租户 SaaS 架构。项目包含:
| 特性 | 说明 |
|---|---|
| 🚀 高性能 | Workerman 常驻内存,比传统 PHP-FPM 性能提升 10 倍+ |
| 🏢 多租户 SaaS | 完整的租户隔离方案(数据行级隔离 + 菜单权限隔离) |
| 🔐 RBAC 权限 | 基于 多租户的 RBAC 权限控制模型 |
| 🔌 双 ORM 支持 | 同时支持 ThinkORM / Laravel ORM,(实验性阶段代码) |
| 🎨 Attribute 路由 | PHP 8 原生注解路由,自动扫描与缓存 |
| 🧩 插件系统 | 完整的插件生命周期管理(安装/卸载/启用/禁用) |
| 📦 代码生成器 | 一键生成 CRUD 模板,提升开发效率 |
pinia,vuex 的替代方案,轻量、简单、易用,并且配置pinia持久化插件。unocss,antfu 开源的原子 css 解决方案,非常轻量。eslint + prettier,代码约束和格式化统一。stylelint,代码约束scss、less、css规范化。mock 接口服务。iconify 图标,支持自定义 svg 图标, 优雅使用icon。| 类别 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 运行时 | 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
# 双击或执行
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 |
本项目基于 MIT 协议开源 - 详见 LICENSE 文件