# 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




🚀 基于 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将大大提升项目的专业性和可用性,帮助用户快速了解和使用您的项目。