📋 项目简介
HuiCMF 是一个基于 Webman 高性能 HTTP 服务框架开发的现代化内容管理系统。采用 PHP 8.3+ 构建,集成了 Pear Admin LayUI 3.x 后台管理框架【iframe模式】,提供完整的用户管理、权限控制、内容管理等功能。
✨ 主要特性
-
🚀 高性能:基于 Workerman 常驻内存模型,性能远超传统 PHP-FPM 架构 -
🎨 现代化UI:集成 Pear Admin LayUI 3.x,界面美观,操作便捷 -
🛡️ 安全可靠:内置完善的权限控制和安全防护机制 -
🔧 易于扩展:采用插件化架构,支持自定义模块开发 -
📱 响应式设计:完美支持 PC、平板、手机等多种终端 -
📊 API支持:提供 RESTful API 接口,支持前后端分离 -
🌐 国际化:内置多语言支持框架 -
🧾 多数据库:同时支持mysql和pgsql(安装的时候可选)
🏗️ 技术栈
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
🚀 快速开始
📋 环境要求
-
PHP 8.3+ -
Composer -
MySQL 5.6+ (推荐 5.7+) -
PgSQL 12+ (推荐 16+) -
Nginx / Apache (可选)
💾 安装步骤
1. 克隆项目
git clone https://gitee.com/xianrenqh/huicmf_webman.git
cd huicmf_webman
2. 安装依赖
composer install
3. 数据库配置
执行安装,会自动创建数据库表和初始数据。
注意,如果默认使用Pgsql,请把根目录下的:pgsql12.sql 导入对应的pgsql数据库,否则程序会报错。
4. 配置修改
-
编辑 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 配置示例
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;
}
}
开发环境启动
# 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 接口,支持前后端分离开发。
认证接口
POST /api/auth/login
Content-Type: application/json
{
"username": "admin",
"password": "123456"
}
获取用户信息
GET /api/user/profile
Authorization: Bearer {token}
接口特性
-
🔐 JWT Token 认证 -
📝 RESTful 风格设计 -
🛡️ 权限验证中间件 -
📊 统一响应格式 -
📝 完整的 API 文档
🎯 核心功能
👥 用户管理
-
用户注册、登录、权限管理 -
角色权限分配 -
用户行为日志
📝 内容管理
-
文章发布、编辑、删除 -
分类管理 -
标签系统
🔧 系统设置
-
基础配置管理 -
缓存管理 -
日志查看
📊 数据统计
-
访问统计 -
用户活跃度 -
内容分析
🛠️ 开发指南
🧩 插件开发
1、 参考官网手册
https://www.workerman.net/doc/webman/app/create.html
2、创建插件之后,需要修改插件目录下 api/Install.php文件:
官方创建的是lavel框架,默认这里使用的是thinkphp框架,所以如果有安装sql文件的话,这里一定要修改
第六行修改为:
use think\facade\Db;
第178行修改为:
Db::connect(static::$connection)->execute($sql);
3、修改代码
插件开发操作数据库表(比如新建表),请统一使用模型操作,在模型里面定义表名,否则插件升级的时候,会因表前缀不一致而报错。 例如:
protected $table = "cmf_email_template";
其他
后台插件如不想升级,请在对应的插件配置文件,例如:admin plugin/admin/config/app.php 中将 version 改为 任意最大值。例如:10.0.0
带安装sql的插件
如果携带install.sql文件的,请注意,sql语句中 注释部分或者【COMMENT注释】一定不要出现 英文的分号 (;),否则会报错。
// 创建插件控制器
namespace app\admin\controller;
use support\Request;
class MyController
{
public function index(Request $request)
{
return response('Hello World');
}
}
🎨 前端开发
使用 LayUI + jQuery 进行前端开发:
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:
use think\facade\Db;
// 查询数据
$users = Db::name('user')->where('status', 1)->select();
// 插入数据
Db::name('user')->insert([
'username' => 'test',
'email' => 'test@example.com'
]);














![表情[chi]-寻找资源网](http://www.seekresource.com/wp-content/themes/zibll/img/smilies/chi.gif)



暂无评论内容