多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
后台管理系统ConsoleHtml 1.在插件目录下创建文件admin/listen/ConsoleHtml.php控制台绑定html事件,例: ~~~php <?php namespace plugins\ceshi\admin\listen; class ConsoleHtml { public function handle() { $html['header'] = '定义你的css文件'; $html['content'] = '这是我在OneKeyAdmin里使用的第一个事件~~'; $html['footer'] = '定义你的JS文件 '; return $html; } } ~~~ 2.已绑定控制台页面,“这是我在OneKeyAdmin里使用的第一个事件”; 后台管理系统CommonGlobal 1.在插件目录下创建文件admin/listen/CommonGlobal.php模板全局变量,例: ~~~php <?php namespace plugins\ceshi\admin\listen; class CommonGlobal { public function handle() { $global = []; $global['ceshi'] = '这是后台模板全局变量'; return $global; } } ~~~ 2.已绑定Global全局变量,打印console.log(Global)查看; 后台管理系统CommonHtml 1.在插件目录下创建文件admin/listen/CommonHtml.php模板全局html,例: ~~~php <?php namespace plugins\ceshi\admin\listen; class CommonHtml { public function handle() { $html['header'] = '你想要引入的css文件'; $html['content'] = '你想要引入的html代码'; $html['footer'] = '你想要引入的js代码'; return $html; } } ~~~ 2.已绑定全部html页面,“你想要引入的html代码”; 后台管理系统UploadEnd 1.在插件目录下创建文件admin/listen/UploadEnd.php文件上传结束事件,例: ~~~php <?php namespace plugins\ceshi\admin\listen; class UploadEnd { public function handle(string $url) { echo "已获取$url,请做你想做的事"; } } ~~~ 2.上传结束后,获得$url参数; 后台管理系统ConfigHook 1.在插件目录下创建文件admin/listen/ConfigHook.php绑定系统配置钩子,例: ~~~php <?php namespace plugins\ceshi\admin\listen; class ConfigHook { public function handle() { $arr[] = [ "title" => "测试配置", // 插件配置标题 "name" => "ceshi", // 插件配置别名 "url" => "ceshi/config/index", // 插件配置路由 ]; return $arr; } } ~~~ 2.已绑定常规管理->系统配置->我是测试配置; 后台管理系统UserConfigHook 1.在插件目录下创建文件admin/listen/UserConfigHook.php绑定会员配置钩子,例: ~~~php <?php namespace plugins\ceshi\admin\listen; class UserConfigHook { public function handle() { $field[] = [ "title" => "测试", "name" => "text", // 请参考common.js中的formType方法 "bind" => "el-input",// 请参考common.js中的formType方法 "value" => 0, "field" => "ceshi", "label" => "新增会员测试字段:", ]; return $field; } } ~~~ 2.已绑定常规管理->系统配置->会员配置->新增测试字段(文本格式); 后台管理系统UserAdminField 1.在插件目录下创建文件admin/listen/UserAdminField.php绑定管理员自定义字段,例: ~~~php <?php namespace plugins\ceshi\admin\listen; class UserAdminField { public function handle() { $field[] = [ "title" => "开关", "name" => "switch", // 请参考common.js中的formType方法 "bind" => "el-switch", // 请参考common.js中的formType方法 "value" => false, "field" => "technical_customer_service_switch", "label" => "技术客服:", ]; $field[] = [ "title" => "字符", "name" => "text", "bind" => "el-input", "value" => "", "field" => "qq", "label" => "客服QQ:", ]; return $field; } } ~~~ 2.已绑定后台管理系统->管理员插件自定义字段; 前台主题模板AppCheckInit 1.在插件目录下创建文件index/listen/AppCheckInit.php主题模板初始化检测,例: ~~~php <?php namespace plugins\ceshi\index\listen; class AppCheckInit { public function handle() { $arrIp = ['127.0.0.1']; if (in_array(request()->ip(), $arrIp)) { die('很抱歉,您被禁止访问此网站'); } } } ~~~ 2.绑定主题模板初始化检测钩子; 前台主题模板UserDashboard 1.在插件目录下创建文件index/listen/UserDashboard.php主题模板会员中心主页,例: ~~~php <?php namespace plugins\ceshi\index\listen; class UserDashboard { public function handle() { $dashboard = [ [ 'number' => 0, 'icon' => 'el-icon-star-off', 'title' => 'Number of products collected', //可在语言包中设置 'url' => 'cms/user/productCollection', "color" => "#18bc9c" ], ]; return $dashboard; } } ~~~ 2.绑定主题模板->会员中心->主页数据统计; 前台主题模板PersonalPublic 1.在插件目录下创建文件index/listen/PersonalPublic.php主题模板会员中心侧边栏,例: ~~~php <?php namespace plugins\ceshi\index\listen; class PersonalPublic { public function handle() { return [ ['title' =>'会员中心侧边', 'url' => get_url('blog/user/letterList'), 'icon' => 'el-icon-chat-line-round', 'count' => 20], ]; } } ~~~ 2.绑定主题模板会员中心侧边栏; 前台主题模板RouteCheckEnd 1.在插件目录下创建文件index/listen/RouteCheckEnd.php主题模板路由检测完毕,例: ~~~php <?php namespace plugins\ceshi\index\listen; class RouteCheckEnd { public function handle() { echo '路由检测完毕'; } } ~~~ 2.绑定主题模板路由检测完毕钩子; 前台主题模板UserRegisterEnd 1.在插件目录下创建文件index/listen/UserRegisterEnd.php主题模板用户注册完成钩子,例: ~~~php <?php namespace plugins\ceshi\index\listen; class UserRegisterEnd { public function handle($registerInfo) { echo "注册完成啦"; } } ~~~ 2.绑定主题模板用户注册完成后; 前台主题模板UserLoginApi 1.在插件目录下创建文件index/listen/UserLoginApi.php主题模板会员第三方登录,例: ~~~php <?php namespace plugins\ceshi\index\listen; class UserLoginApi { public function handle() { $api= [ [ 'url' => 'ceshi/index/qqLogin', 'title' => 'QQ登录', 'cover' => '/image/xxx.png', ], ]; return $api; } } ~~~ 2.绑定主题模板第三方登录; 前台主题模板CommonGlobal、CommonHtml 与后台管理系统调用方式一致只需要修改namespace plugins\\ceshi\\admin\\listen;命名空间admin改为index即可;