SaiAdmin - Webman 快速开发框架
SaiAdmin - Webman 快速开发框架
基于 Webman 的企业级后台管理系统开发框架
项目简介
SaiAdmin 是一个基于 Webman 的高性能后台管理系统插件。它提供了完整的权限管理、系统配置、代码生成等功能,帮助开发者快速构建企业级应用。
✨ 核心特性
- 🚀 高性能 - 基于 Webman 常驻内存框架,性能优异
- 🔐 完整权限系统 - RBAC 权限模型,支持用户、角色、部门、岗位管理
- 📝 代码生成器 - 一键生成 CRUD 代码,提升开发效率
- ⚡ 双 ORM 支持 - 同时支持 ThinkORM 和 Eloquent ORM
- 🔧 插件化架构 - 支持插件扩展,便于功能模块化
- 📊 系统监控 - 内置服务器监控、缓存管理功能
- 📋 日志系统 - 完整的登录日志和操作日志记录
📁 目录结构
plugin/saiadmin/
├── app/ # 应用核心目录
│ ├── cache/ # 缓存相关
│ ├── controller/ # 控制器
│ │ ├── InstallController.php # 安装控制器
│ │ ├── LoginController.php # 登录控制器
│ │ ├── SystemController.php # 系统控制器
│ │ ├── system/ # 系统管理模块
│ │ │ ├── SystemUserController.php
│ │ │ ├── SystemRoleController.php
│ │ │ ├── SystemMenuController.php
│ │ │ ├── SystemDeptController.php
│ │ │ ├── SystemPostController.php
│ │ │ └── ...
│ │ └── tool/ # 工具模块
│ ├── event/ # 事件
│ ├── logic/ # 业务逻辑层
│ ├── middleware/ # 中间件
│ ├── model/ # 数据模型
│ │ ├── system/ # 系统模型
│ │ └── tool/ # 工具模型
│ ├── validate/ # 验证器
│ └── view/ # 视图
├── basic/ # 基础类
│ ├── AbstractLogic.php # 抽象逻辑类
│ ├── BaseController.php # 基础控制器
│ ├── BaseValidate.php # 基础验证器
│ ├── OpenController.php # 开放控制器
│ ├── contracts/ # 接口契约
│ ├── eloquent/ # Eloquent 基类
│ └── think/ # ThinkORM 基类
├── command/ # 命令行工具
├── config/ # 配置文件
│ ├── app.php # 应用配置
│ ├── route.php # 路由配置
│ ├── middleware.php # 中间件配置
│ └── saithink.php # 框架核心配置
├── db/ # 数据库文件
│ └── saiadmin-6.0.sql # SQL 安装脚本
├── exception/ # 异常处理
├── process/ # 进程管理
├── public/ # 公共资源
├── service/ # 服务层
│ ├── EmailService.php # 邮件服务
│ ├── OpenSpoutWriter.php # Excel 导出
│ ├── Permission.php # 权限服务
│ └── storage/ # 存储服务
└── utils/ # 工具类
├── Arr.php # 数组工具
├── Captcha.php # 验证码
├── Helper.php # 通用助手
├── ServerMonitor.php # 服务器监控
└── code/ # 代码生成器
├── CodeEngine.php # 代码生成引擎
├── CodeZip.php # 代码打包
└── stub/ # 代码模板🛠️ 功能模块
系统管理
| 模块 | 说明 |
|---|---|
| 用户管理 | 用户增删改查、密码管理、缓存清理 |
| 角色管理 | 角色 CRUD、菜单权限分配 |
| 部门管理 | 组织架构管理、树形结构 |
| 岗位管理 | 岗位信息维护、Excel 模板导入导出 |
| 菜单管理 | 菜单配置、按钮权限 |
| 字典管理 | 字典类型与字典数据维护 |
| 附件管理 | 文件上传、分类管理、资源移动 |
| 系统配置 | 分组配置、邮件设置、动态参数 |
| 日志管理 | 登录日志、操作日志查询与清理 |
| 服务监控 | 服务器状态、缓存信息、一键清理 |
| 数据表维护 | 数据表结构、表优化、碎片整理 |
开发工具
| 模块 | 说明 |
|---|---|
| 代码生成 | 根据数据表自动生成 CRUD 代码 |
| 定时任务 | Crontab 任务管理、执行日志 |
🔧 命令行工具
# 创建基于 SaiAdmin 的 Webman 插件
php webman sai:plugin {插件标识}
# 切换 ORM (ThinkORM / Eloquent)
php webman sai:orm
# 升级 SaiAdmin 框架
php webman sai:upgrade📖 开发规范
[module]- 应用模块标识[business]- 功能模块分组[table1/table2]- 数据库表名称的大写驼峰
应用模式 [app] 开发
app/[module]/
├── controller/ # 控制器
│ ├── [business]/ # 功能模块分组
│ │ ├── [table1]Controller.php
│ │ ├── [table2]Controller.php
├── logic/ # 逻辑层
│ ├── [business]/ # 功能模块分组
│ │ ├── [table1]Logic.php
│ │ ├── [table2]Logic.php
├── model/ # 数据模型
│ ├── [business]/ # 功能模块分组
│ │ ├── [table1].php
│ │ ├── [table2].php
├── validate/ # 验证器
│ ├── [business]/ # 功能模块分组
│ │ ├── [table1]Validate.php
│ │ ├── [table2]Validate.php插件模式 [plugin] 开发
plugin/[module]/
├── app/ # 应用核心目录
│ ├── cache/ # 缓存目录
│ ├── event/ # 事件目录
│ ├── admin/ # 管理后台
│ │ ├── controller/ # 控制器
│ │ │ ├── [business]/
│ │ │ │ ├── [table1]Controller.php
│ │ │ │ ├── [table2]Controller.php
│ │ ├── logic/ # 逻辑层
│ │ │ ├── [business]/
│ │ │ │ ├── [table1]Logic.php
│ │ │ │ ├── [table2]Logic.php
│ │ ├── validate/ # 验证器
│ │ │ ├── [business]/
│ │ │ │ ├── [table1]Validate.php
│ │ │ │ ├── [table2]Validate.php
│ ├── api/ # API接口
│ │ ├── controller/
│ │ ├── logic/
│ │ ├── validate/
│ ├── model/ # 数据模型 (可共用)
│ │ ├── [business]/
│ │ │ ├── [table1].php
│ │ │ ├── [table2].php⚙️ 配置说明
核心配置文件位于 config/saithink.php:
| 配置项 | 说明 |
|---|---|
access_exp | 登录 Token 有效期(默认 8 小时) |
captcha | 验证码配置(存储模式、过期时间) |
file_hash | 文件 Hash 验证开关 |
user_cache | 用户信息缓存配置 |
button_cache | 按钮权限缓存配置 |
menu_cache | 菜单缓存配置 |
dict_cache | 字典缓存配置 |
config_cache | 配置数据缓存 |
📜 License
MIT License
