# huicmf_webman **Repository Path**: xianrenqh/huicmf_webman ## Basic Information - **Project Name**: huicmf_webman - **Description**: Huicmf基于 webman+layui开发的 后台权限管理系统。orm内核使用thinkphp8 - **Primary Language**: PHP - **License**: MIT - **Default Branch**: v2.0 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 90 - **Forks**: 26 - **Created**: 2022-06-20 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: backend **Tags**: webman, PHP ## README # HuiCMF Webman
![PHP](https://img.shields.io/badge/PHP-8.3+-777BB4?style=flat-square&logo=php) ![Webman](https://img.shields.io/badge/Webman-2.x-009688?style=flat-square) ![License](https://img.shields.io/badge/License-MIT-yellow?style=flat-square) ![Version](https://img.shields.io/badge/Version-0.3.5-brightgreen?style=flat-square) 🚀 基于 Webman 框架的高性能后台权限管理系统 [在线演示](https://webman2.xiaohuihui.club/app/admin) | [文档](https://www.workerman.net/doc/webman) | [问题反馈](https://gitee.com/xianrenqh/huicmf_webman/issues)
## 📋 项目简介 HuiCMF 是一个基于 [Webman](https://github.com/walkor/webman) 高性能 HTTP 服务框架开发的现代化**后台权限管理系统**。采用 PHP 8.3+ 构建,集成 Pear Admin LayUI 后台管理框架,提供完整的用户管理、角色权限、系统配置等功能。 > 💡 **定位说明**:本系统专注于后台权限管理,不包含内容管理(CMS)功能。适用于需要快速搭建后台管理系统的场景。 ### ✨ 主要特性 - 🚀 **高性能**:基于 Workerman 常驻内存模型,QPS 远超传统 PHP-FPM 架构 - 🎨 **现代化 UI**:集成 Pear Admin LayUI,界面美观,操作便捷 - 🛡️ **安全可靠**:内置 RBAC 权限控制、登录日志、操作日志等安全机制 - 🔧 **易于扩展**:采用插件化架构,支持自定义模块开发 - 📱 **响应式设计**:完美支持 PC、平板、手机等多种终端 - 📊 **API 支持**:提供 RESTful API 接口,支持前后端分离 - 🌐 **多数据库**:同时支持 MySQL 和 PostgreSQL(安装时可选) - 🔐 **动态口令**:支持 Google 身份验证器二次验证 ### 🏗️ 技术栈 | 组件 | 版本 | 说明 | |------------------|-------------|--------------| | PHP | >= 8.3 | 核心语言 | | Webman Framework | ~2.1 | 高性能 HTTP 服务框架 | | Think ORM | ^2.1 | 数据库 ORM | | Laravel Cache | ^2.0 | 缓存系统 | | Pear Admin LayUI | 4.x | 后台 UI 框架 | | MySQL | 5.7+ | 数据库(可选) | | PostgreSQL | 12+ | 数据库(可选) | ## 🚀 快速开始 ### 📋 环境要求 **必需**: - PHP 8.3+ - Composer - MySQL 5.7+ 或 PostgreSQL 12+(二选一) **可选**: - Nginx / Apache(生产环境反向代理) - Redis(缓存加速) - Zip 扩展(插件安装需要) ### 💾 安装步骤 #### 1. 克隆项目 ```bash git clone https://gitee.com/xianrenqh/huicmf_webman.git cd huicmf_webman ``` #### 2. 安装依赖 ```bash composer install ``` #### 3. 执行安装 ```bash # Windows php windows.php start # Linux/Mac php start.php start ``` 启动后访问 `http://127.0.0.1:8789` 会自动跳转到安装页面,按照提示完成: 1. 数据库配置(支持 MySQL/PostgreSQL) 2. 管理员账号设置 > ⚠️ **注意**:如果使用 PostgreSQL,请确保已创建数据库并导入 `pgsql12.sql` 基础表结构。 ### 🔧 配置修改 - `.env` - 数据库配置(安装后自动生成) - `config/app.php` - 应用配置(调试模式、时区等) - `config/plugin/admin/app.php` - 后台配置(插件市场、版本号等) ### 🌐 访问地址 - **后台管理**:`http://127.0.0.1:8789/app/admin` - **在线演示**:https://webman2.xiaohuihui.club/app/admin **默认管理员账号**: - 用户名:`admin` - 密码:`123456` ## ⚙️ 配置说明 ### 🔧 服务器配置 #### Nginx 配置示例 ```nginx upstream webman { server 127.0.0.1:8789; keepalive 10240; } server { listen 80; server_name your-domain.com; root /path/to/huicmf_webman/public; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Connection ""; if (!-f $request_filename){ proxy_pass http://webman; } } # 静态文件处理 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } } ``` #### 开发环境启动 ```bash # Windows php windows.php start # Linux/Mac php start.php start ``` ### 📁 目录结构 ``` huicmf_webman/ ├── app/ # 应用目录 │ ├── admin/ # 后台管理模块 │ ├── api/ # API接口模块 │ ├── controller/ # 控制器 │ ├── middleware/ # 中间件 │ ├── model/ # 模型 │ └── view/ # 视图模板 ├── config/ # 配置文件 ├── plugin/ # 插件目录 ├── public/ # 静态资源 ├── support/ # 助手类 ├── vendor/ # Composer依赖 ├── composer.json # Composer配置 ├── start.php # 启动文件 └── README.md # 项目文档 ``` ## 🔌 API 文档 ### RESTful API 系统提供完整的 RESTful API 接口,支持前后端分离开发。 #### 认证接口 ```http POST /api/auth/login Content-Type: application/json { "username": "admin", "password": "123456" } ``` #### 获取用户信息 ```http GET /api/user/profile Authorization: Bearer {token} ``` ### 接口特性 - 🔐 JWT Token 认证 - 📝 RESTful 风格设计 - 🛡️ 权限验证中间件 - 📊 统一响应格式 - 📝 完整的 API 文档 ## 🎯 核心功能 ### 👥 用户管理 - ✅ 管理员账号管理(增删改查) - ✅ 角色分配与管理 - ✅ 登录日志记录 - ✅ 操作日志追踪 - ✅ Google 动态口令二次验证 ### 🔐 权限管理 - ✅ RBAC 权限模型 - ✅ 菜单权限控制 - ✅ 按钮权限粒度 - ✅ 数据范围权限(个人/部门/全部) - ✅ 超级管理员特权 ### ⚙️ 系统配置 - ✅ 站点基础配置 - ✅ 文件上传配置(本地/云存储) - ✅ 图片水印设置 - ✅ 富文本编辑器配置 - ✅ 禁止访问 IP 黑名单 ### 📊 数据统计 - ✅ 仪表盘数据概览 - ✅ 系统信息监控(PHP 版本、数据库版本等) - ✅ 剩余存储空间显示 ### 🔌 插件管理 - ✅ 在线插件市场 - ✅ 一键安装/卸载插件 - ✅ 插件版本升级 - ✅ 插件权限隔离 ### 📁 文件管理 - ✅ 图片上传(支持多图) - ✅ 附件上传 - ✅ 文件类型限制 - ✅ 文件大小限制 ## 🛠️ 开发指南 ### 🧩 插件开发 #### 1、 参考官网手册 https://www.workerman.net/doc/webman/app/create.html #### 2、创建插件之后,需要修改插件目录下 api/Install.php文件: > 官方创建的是lavel框架,默认这里使用的是thinkphp框架,所以如果有安装sql文件的话,这里一定要修改 > > 第六行修改为: ```php use think\facade\Db; ``` 第178行修改为: ```php Db::connect(static::$connection)->execute($sql); ``` #### 3、修改代码 插件开发操作数据库表(比如新建表),请统一使用模型操作,在模型里面定义表名,否则插件升级的时候,会因表前缀不一致而报错。 例如: ```php protected $table = "cmf_email_template"; ``` #### 其他 后台插件如不想升级,请在对应的插件配置文件,例如:admin `plugin/admin/config/app.php` 中将 `version` 改为 任意最大值。例如:10.0.0 #### 带安装sql的插件 > 如果携带install.sql文件的,请注意,sql语句中 注释部分或者【COMMENT注释】一定不要出现 英文的分号 (;),否则会报错。 ```php // 创建插件控制器 namespace app\admin\controller; use support\Request; class MyController { public function index(Request $request) { return response('Hello World'); } } ``` ### 🎨 前端开发 使用 LayUI + jQuery 进行前端开发: ```javascript layui.use(['table', 'form'], function () { var table = layui.table; var form = layui.form; // 初始化表格 table.render({ elem: '#dataTable', url: '/api/data/list', cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: '名称'} ]] }); }); ``` ### 📚 数据库操作 使用 Think ORM: ```php use think\facade\Db; // 查询数据 $users = Db::name('user')->where('status', 1)->select(); // 插入数据 Db::name('user')->insert([ 'username' => 'test', 'email' => 'test@example.com' ]); ``` ## 🤝 贡献指南 我们欢迎所有形式的贡献!无论是报告 bug、提出新功能建议,还是提交代码。 ### 📝 提交规范 遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范: - `feat:` 新功能 - `fix:` 修复 bug - `docs:` 文档更新 - `style:` 代码格式调整 - `refactor:` 代码重构 - `test:` 测试相关 - `chore:` 构建过程或辅助工具的变动 ### 🔄 提交流程 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) 文件。 ## 🙏 致谢 感谢以下开源项目的支持: - [Webman](https://github.com/walkor/webman) - 高性能 PHP 框架 - [LayUI](https://layui.dev/) - 前端 UI 框架 - [Think ORM](https://github.com/top-think/think-orm) - 数据库 ORM - [Pear Admin LayUI](https://gitee.com/pear-admin/Pear-Admin-Layui) - 后台管理框架 ## 📞 联系我们 - 🐛 **问题反馈**:[Issues](https://gitee.com/xianrenqh/huicmf_webman/issues) - 💬 **讨论交流**:[Wiki](https://gitee.com/xianrenqh/huicmf_webman/wikis) - 📧 **邮件联系**:[your-email@example.com] ---
**⭐ 如果这个项目对您有帮助,请给我们一个 Star!** Made with ❤️ by [HuiCMF Team](https://gitee.com/xianrenqh)
``` ## ✅ **主要改进点** 1. **🎨 视觉优化**:添加徽章、图标和居中布局 2. **📚 结构重组**:采用标准开源项目结构 3. **🌐 国际化**:准备支持中英文(当前为中文) 4. **📊 技术栈表格**:清晰展示技术选型 5. **📝 代码示例**:提供实用的开发示例 6. **🔗 链接优化**:添加相关文档和演示链接 7. **🎯 功能分类**:按模块整理核心功能 8. **🛠️ 开发指南**:完善开发者文档 9. **🤝 贡献规范**:标准化贡献流程 10. **🙏 致谢部分**:感谢开源社区 ## ✅ **建议** 1. **版本管理**:建议使用语义化版本控制 2. **持续集成**:添加 CI/CD 流程 3. **文档网站**:搭建独立的文档站点 4. **单元测试**:完善测试覆盖率 5. **安全检查**:定期进行安全审计 这个完善的README将大大提升项目的专业性和可用性,帮助用户快速了解和使用您的项目。