# webman_skeleton_saiadmin **Repository Path**: wzhec/webman_skeleton_saiadmin ## Basic Information - **Project Name**: webman_skeleton_saiadmin - **Description**: webman saiadmin的基础框架模板 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-16 - **Last Updated**: 2026-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Webman + SaiAdmin 骨架项目 一个基于 Webman 框架和 SaiAdmin 插件的高性能 PHP 管理系统骨架项目,提供完整的开发规范和基础功能组件。 ## 🌟 项目特性 - **高性能框架**:基于 Webman (Workerman) 构建,支持长连接和高并发 - **插件化架构**:核心功能封装在 SaiAdmin 插件中,易于扩展 - **分层设计**:采用 MVC + Logic 分层架构,职责清晰 - **ORM支持**:集成 ThinkORM,提供强大的数据库操作能力 - **RBAC权限**:内置基于角色的权限控制系统 - **RESTful API**:标准化的API接口设计 - **代码规范**:严格遵循 PHP PSR-12 规范和项目特定规则 - **完整文档**:提供详细的开发文档和API文档 ## 🛠️ 技术栈 ### 核心框架 - **Webman**:基于 Workerman 的高性能 PHP 框架 - **SaiAdmin**:管理系统核心插件 ### 开发语言与环境 - **PHP**:8.1+ - **Composer**:依赖管理 ### 数据库与ORM - **MySQL**:5.7+ - **ThinkORM**:数据库操作层 ### 安全与认证 - **JWT**:身份认证 - **RBAC**:基于角色的权限控制 ### 缓存 - **Redis**:5.0+(可选) ## 📦 安装步骤 ### 1. 克隆项目 ```bash git clone https://github.com/your-repo/webman_skeleton_saiadmin.git cd webman_skeleton_saiadmin ``` ### 2. 安装依赖 ```bash composer install ``` ### 3. 配置环境 复制环境配置模板并修改: ```bash cp .env.example .env ``` 编辑 `.env` 文件,配置数据库连接: ``` DB_HOST="127.0.0.1" DB_PORT="3306" DB_NAME="saiadmin" DB_USER="root" DB_PASSWORD="your_password" ``` ### 4. 初始化数据库 导入数据库脚本(如果有): ```bash mysql -u root -p saiadmin < database/saiadmin.sql ``` ### 5. 启动服务 开发环境: ```bash php start.php start ``` 生产环境: ```bash php start.php start -d ``` ## 📁 目录结构 ``` ├── app/ # 主应用目录 │ ├── controller/ # 主应用控制器 │ ├── middleware/ # 主应用中间件 │ ├── model/ # 主应用模型 │ └── view/ # 主应用视图 ├── config/ # 主应用配置 ├── plugin/ # 插件目录 │ └── saiadmin/ # SaiAdmin 核心插件 │ ├── app/ # 插件应用目录 │ ├── basic/ # 基础类目录 │ │ ├── BaseController.php # 基础控制器 │ │ ├── BaseLogic.php # 基础逻辑层 │ │ └── BaseModel.php # 基础模型 │ ├── config/ # 插件配置 │ └── service/ # 插件服务 ├── public/ # 静态资源目录 ├── runtime/ # 运行时目录 ├── database/ # 数据库脚本目录 ├── .env # 环境配置文件 └── composer.json # 项目依赖 ``` ## 🚀 快速开始 ### 创建新模块 1. **创建模型**:继承自 `plugin\saiadmin\basic\BaseModel` 2. **创建逻辑层**:继承自 `plugin\saiadmin\basic\BaseLogic` 3. **创建控制器**:继承自 `plugin\saiadmin\basic\BaseController` 4. **注册路由**:使用 `fastRoute()` 快速注册 RESTful 路由 ### 示例代码 ```php // 控制器示例 (UserController.php) namespace plugin\saiadmin\app\controller; use plugin\saiadmin\basic\BaseController; use plugin\saiadmin\app\logic\UserLogic; use plugin\saiadmin\app\validate\UserValidate; class UserController extends BaseController { protected $logic = UserLogic::class; protected $validate = UserValidate::class; } // 逻辑层示例 (UserLogic.php) namespace plugin\saiadmin\app\logic; use plugin\saiadmin\basic\BaseLogic; use plugin\saiadmin\app\model\User; class UserLogic extends BaseLogic { protected $model = User::class; } // 模型示例 (User.php) namespace plugin\saiadmin\app\model; use plugin\saiadmin\basic\BaseModel; class User extends BaseModel { protected $name = 'user'; } ``` ## 📚 开发规范 ### 命名规范 - **文件命名**:帕斯卡命名法(PascalCase) - 控制器:`XxxController.php` - 模型:`Xxx.php` - 逻辑层:`XxxLogic.php` - 验证器:`XxxValidate.php` - **类命名**:帕斯卡命名法(PascalCase) - 控制器类:`XxxController` - 模型类:`Xxx` - 逻辑层类:`XxxLogic` - **方法命名**:小驼峰命名法(camelCase) - 公共方法:`camelCase` - 私有/保护方法:`_camelCase` ### 代码风格 - 严格遵循 PHP PSR-12 规范 - 缩进使用 4 个空格 - 每行代码长度不超过 120 个字符 - 左大括号 `{` 不单独占一行 - 右大括号 `}` 单独占一行 ### 架构规则 - **控制器层**:处理请求、参数验证、返回响应 - **逻辑层**:封装业务逻辑,协调数据访问 - **模型层**:数据访问和持久化 - **服务层**:提供通用服务和工具类 - **中间件**:处理请求前/后的逻辑 ## 📋 项目规则 详细的项目规则请参考以下文档: - [项目规则文档](.trae/rules/project_rules.md) - [架构规则文档](.trae/rules/architecture_rules.md) - [代码风格规则](.trae/rules/code_style_rules.md) ## 📊 数据库设计 ### 表结构规范 - 表名:`snake_case`(下划线分隔,复数形式) - 主键:`id`(自增整数) - 通用字段: - `created_by`:创建人ID - `updated_by`:更新人ID - `create_time`:创建时间 - `update_time`:更新时间 - `delete_time`:删除时间(软删除) - `status`:状态(1-启用,0-禁用) - `remark`:备注 ## 🔒 安全规范 - 所有请求参数必须经过验证器验证 - 使用 JWT 进行身份认证 - 基于角色的权限控制 - 密码使用哈希加密存储 - 防止 XSS 和 CSRF 攻击 - 敏感信息脱敏处理 ## 🚀 性能优化 - 避免 N+1 查询问题 - 使用缓存提高性能 - 优化数据库查询,添加适当索引 - 减少 HTTP 请求 - 使用异步处理耗时操作 ## 📝 API 文档 项目提供 RESTful API 接口,遵循以下规范: ### 响应格式 ```json { "code": 200, "msg": "操作成功", "data": { "list": [], "total": 0 } } ``` ### 错误码 - `200`:成功 - `400`:请求参数错误 - `401`:未授权 - `403`:禁止访问 - `404`:资源不存在 - `500`:服务器内部错误 ## 📦 部署流程 ### 环境要求 - PHP 8.1+ - MySQL 5.7+ - Redis 5.0+(可选) - Supervisor(推荐,用于生产环境) ### 部署步骤 1. **安装依赖**:`composer install --no-dev` 2. **配置环境**:修改 `.env` 文件 3. **导入数据库**:执行数据库脚本 4. **启动服务**: - 开发环境:`php start.php start` - 生产环境:`php start.php start -d` 或使用 Supervisor 管理 ## 📈 监控与维护 ### 日志管理 - 系统日志:记录系统运行状态 - 操作日志:记录用户操作 - 错误日志:记录系统错误 ### 定期维护 - 数据库备份 - 日志清理 - 依赖更新 - 安全漏洞修复 ## 🤝 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 许可证 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。 ## 📞 支持与反馈 如果您有任何问题或建议,欢迎通过以下方式联系我们: - 问题反馈:[GitHub Issues](https://github.com/your-repo/webman_skeleton_saiadmin/issues) - 文档地址:[项目文档](technical_specification.md) - 开发社区:[Webman 官方社区](https://www.workerman.net/questions) ## 📌 更新日志 ### v1.0.0 - 初始化项目骨架 - 集成 Webman 框架 - 集成 SaiAdmin 核心插件 - 实现基础的 RBAC 权限系统 - 提供完整的开发规范文档 --- **感谢使用 Webman + SaiAdmin 骨架项目!** 🎉