# chbg **Repository Path**: qice/chbg ## Basic Information - **Project Name**: chbg - **Description**: 基于ThinkPHP做的一个通用后台管理程序,包括 菜单管理、会员管理、权限管理、快速生成表单、列表、搜索等(只需一个数组就可生成 添加、删除、列表、搜索) - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2016-06-15 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 项目简介 - 基于 ThinkPHP 3.2.2 开发的通用后台 - 菜单管理,通过配置数组来生成菜单,包括相关权限等 - 权限管理,基于菜单的权限,更加细致到每个操作, - 封装了后台列表显示、编辑、搜索、删除等操作,只需继承 控制器、模型 再定义好一个数组就好了 - session 是存数据库的,方便日后做负载均衡时用户状态判断 - 操作日志,记录CURD等操作,记录操作人原数据及更新后的数据 - 会员积分模块 - 支付通道 支付宝、微信、银联、paypal、快钱等 - 阿里云相关,OSS上传、MTS转码、截图 - 微信公众号,获取用户资料、支付、发送消息模板等 ### 表单自动生成,封装了多种控件 AJAX上传(上传后可再转 阿里OSS等), 级联下拉,如省 市 地区 选择时用到 提示文本框 实时显示相关的内容 日历控件 UI示例: ![快速生成表单](http://git.oschina.net/uploads/images/2016/0615/172825_1e239979_18150.jpeg "快速生成表单") 如上图,生成上面的表单只需定义如下数组: ``` return array( 'name' => array( 'name' => 'name', 'title'=> '名称', 'type' => 'text' ), 'nickname' => array( 'name' => 'nickname', 'title'=> '会员', 'type' => 'tips', 'tips-url' => U('Admin/Member/get_username_ajax'), 'tips-name' => 'uid', ), 'pic' => array( 'name' => 'pic', 'title'=> '图片', 'type' => 'pic', ), 'area' => array( 'name' => 'area', 'title'=> '地区', 'type' => 'linkage_select', 'url' => U('Public/area_ajax').'?pid=', ), 'status' => array( 'name' => 'status', 'title' => '状态', 'type' => 'select', 'select_data' => array('0'=>array('id'=>0, 'title'=>'关闭'), '1'=>array('id'=>1, 'title'=>'开启')) ), ); ``` 其中有关联的表单说明: - 会员,关联会员表,输入时会实时提示会员名,确认后会把id值填入到name为uid的input中方便数据库存储 - 地区,关联下拉菜单,需要一个请求的URL,下次更新时,AJAX自动回填 - select 下拉框,可预先定义下拉内容,或在 `Controller` 中重新赋值 > 还有时间控件、多选控件等 > 后面再介绍 权限菜单设置等 上面数组定义好后,添加、删除、列表、搜索自动生成,项目开发起来就是快:) ![菜单及权限](http://git.oschina.net/uploads/images/2016/0616/135533_7d98a7c2_18150.png "菜单及权限") 上图中菜单及权限定义: ``` 3 => array( 'name' => '测试菜单', 'Controller' => 'Test', 'acl' => 'Test', 'action'=> array( array('name' => '测试列表', 'url' => 'Test/index', 'acl' => 'Test-index', 'list_acl' => array( '编辑' => 'Test-edit', '删除' => 'Test-delete' )) ) ), ``` 说明: 键名 3, 用于排序, `action` 中的数组,表示子菜单,每个字菜单中的 `acl` 表示权限 `代码整理中...` !