# thinkphp hui cmf **Repository Path**: ay90098/thinkphp-hui-cmf ## Basic Information - **Project Name**: thinkphp hui cmf - **Description**: 基于thinkphp6+mysql ,前端使用 pear-admin-layui的后台权限管理系统。 php>=8.0 【自用版】 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-17 - **Last Updated**: 2024-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Huicmf 6.1.1 ============== **`自用版`** > 基于thinkphp + mysql 开发的cmf后台管理系统 > > thinkphp版本:8.0+ > > 后台使用layui-pearAdmin 环境要求: php 8.0+ mysql 5.6+ redis ## 使用方法: 1. 拉取代码: ``` git clone https://gitee.com/xianrenqh/huicmf_tp6_new.git ``` 2. 执行命令: 在根目录执行命令: ``` composer update ``` 3. 访问并安装: `http://你的地址` 4. 后台地址: `http://你的地址/admin` # 目录树 ``` cms ├── app 应用目录 │ ├── admin 后台管理模块 │ │ ├── common.php 公共函数文件 │ │ ├── config 后台配置目录 │ │ │ └── admin.php │ │ ├── controller 后台控制器目录 │ │ │ ├── BaseController.php 后台基类控制器 │ │ │ ├── content 后台内容模块目录 │ │ │ │ ├── CategoryController.php │ │ │ │ ├── ContentController.php │ │ │ │ └── SiteModelController.php │ │ │ ├── IndexController.php 后台首页控制器 │ │ │ ├── LoginController.php 后台登录控制器 │ │ │ └── system 后台基本系统目录 │ │ │ ├── AdminController.php 后台管理控制器 │ │ │ ├── AuthGroupController.php 后台角色组控制器 │ │ │ ├── AuthRuleController.php 后台权限规则控制器 │ │ │ └── ConfigController.php 后台基本遏制控制器 │ │ ├── library 后台引用类库 │ │ ├── middleware 后台中间件 │ │ │ ├── CheckAdmin.php 后台查看权限中间件 │ │ │ └── SystemLog.php 后台日志操作中间件 │ │ ├── middleware.php 中间件空值文件 │ │ ├── route 后台路由目录 │ │ │ └── app.php │ │ └── view 后台模板目录 │ │ ├── footer.html │ │ ├── header.html │ │ ├── index │ │ │ ├── index.html │ │ │ └── welcome.html │ │ ├── login │ │ │ └── index.html │ │ └── system │ │ ├── admin │ │ ├── auth_group │ │ ├── auth_rule │ │ └── config │ ├── AppService.php │ ├── BaseController.php 后台基类控制器 │ ├── common 公共模块 │ │ ├── controller 控制器目录 │ │ │ └── AdminController.php │ │ ├── model 模型目录 │ │ │ ├── Admin.php │ │ │ ├── AuthGroup.php │ │ │ ├── AuthGroupAccess.php │ │ │ ├── AuthRule.php │ │ │ ├── Config.php │ │ │ └── TimeModel.php │ │ ├── service 服务层目录 │ │ │ ├── admin │ │ │ │ ├── AuthService.php │ │ │ │ └── MenuService.php │ │ │ └── home │ │ └── traits │ │ ├── DebugTrait.php │ │ └── JumpTrait.php │ ├── common.php │ ├── event.php │ ├── ExceptionHandle.php │ ├── index │ │ └── controller │ │ └── IndexController.php │ ├── middleware.php │ ├── provider.php │ ├── Request.php │ └── service.php ├── composer.json ├── composer.lock ├── config │ ├── app.php │ ├── cache.php │ ├── captcha.php │ ├── console.php │ ├── cookie.php │ ├── database.php │ ├── filesystem.php │ ├── lang.php │ ├── log.php │ ├── middleware.php │ ├── queue.php │ ├── route.php │ ├── session.php │ ├── trace.php │ └── view.php ├── extend │ └── libs │ ├── GetImgSrc.php │ └── Tree2.php ├── LICENSE ├── LICENSE.txt ├── public │ ├── admin.php │ ├── favicon.ico │ ├── index.php │ ├── robots.txt │ ├── router.php │ ├── static │ │ ├── admin │ │ ├── index │ │ └── lib │ ├── template │ │ └── default │ │ └── config.php │ └── tpl │ ├── qqwry.dat │ ├── think_exception.tpl │ └── think_jump.tpl ├── README.en.md ├── README.md ├── route │ └── app.php ├── runtime 缓存文件夹 │ ├── admin │ ├── cache │ ├── index │ ├── log │ └── session └── think ``` ## 后台开发 ### 1、按钮属性 ```html //弹出层打开:width:90%,height:80% 编辑 //弹出层打开全屏:width:100%,height:100% 添加 //删除询问对话框 1231232313 //普通询问对话框 1231232313 ``` data-title:弹出层title名称 data-open:弹出层打开默认值:width:65%,height:80% data-width="910" :(弹出层的宽度,只针对data-open有效) data-height="550"(弹出层的高度,只针对data-open有效) data-open-full:弹出层打开全屏:width:100%,height:100% data-confirm:普通询问对话框 data-delete:删除询问对话框 - data-reload="1" 刷新父级页面【例如点击编辑按钮弹出窗口后保存或者关闭窗口在列表页(父级)页面刷新。默认不写或者 data-reload="0"为不刷新】 - data-reload="2" 刷新当前页面【例如点击编辑按钮弹出窗口后保存或者关闭窗口在当前页面刷新。默认不写或者 data-reload="0" 为不刷新】 - --- ### 2、编辑(添加)页面动作完成后关闭页面 在编辑或者添加页面的ajax完成回调方法里添加代码: (具体也可参考管理员编辑或者添加的模版html页面) ```javascript hui_msg(res.msg, 1, function () { var pageId = parent.layer.getFrameIndex(window.name); parent.layer.close(pageId); }); ``` > 加弹窗提示的: ```javascript hui_msg(res.msg, 1, function () { layer.confirm('是否关闭页面?', { btn: ['关闭页面', '留在此页面'] }, function () { var pageId = parent.layer.getFrameIndex(window.name); parent.layer.close(pageId); }, function () { window.location.reload(); }); }); ``` 完整代码案例: ```javascript window.dosub = function (obj) { var loading = layer.load(2); $.ajax({ url: "{:url('admin/edit')}", data: $(obj).serialize(), dataType: 'json', contentType: 'application/json', type: 'post', success: function (res) { layer.close(loading); if (res.code === 200) { hui_msg(res.msg, 1, function () { var pageId = parent.layer.getFrameIndex(window.name); parent.layer.close(pageId); }); } else { hui_msg(res.msg, 2); } } }) return false; } ``` ## 2、上传图片组 ### 单图上传(带选择按钮) > 注意: 输入框的id: > > 1.要和按钮的tata-input-id值对应上, > > 2.要和选择按钮的data-open-pic里面的select_id传参值对应上 > > 3.要和下面layui-input-inline里显示图片缩略图的id对应上(这里结尾要加上 _box) > > ```html