Server : nginx/1.20.1 System : Linux iZ2ze9ojcl78uluczwag69Z 4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 8 19:01:30 UTC 2021 x86_64 User : www ( 1000) PHP Version : 7.3.28 Disable Function : passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/0531yanglao.com/app/admin/controller/ |
<?php /* * @Description : 菜单管理 * @Author : https://github.com/skyselang * @Date : 2020-05-05 * @LastEditTime : 2021-03-20 */ namespace app\admin\controller; use think\facade\Request; use app\admin\validate\AdminMenuValidate; use app\admin\validate\AdminRoleValidate; use app\admin\validate\AdminUserValidate; use app\admin\service\AdminMenuService; use app\admin\service\AdminUserService; class AdminMenu { /** * 菜单列表 * * @method GET * * @return json */ public function menuList() { $data = AdminMenuService::list(); return success($data); } /** * 菜单信息 * * @method GET * * @return json */ public function menuInfo() { $param['admin_menu_id'] = Request::param('admin_menu_id/d', ''); validate(AdminMenuValidate::class)->scene('menu_id')->check($param); $data = AdminMenuService::info($param['admin_menu_id']); if ($data['is_delete'] == 1) { exception('菜单已被删除:' . $param['admin_menu_id']); } return success($data); } /** * 菜单添加 * * @method POST * * @return json */ public function menuAdd() { $param['menu_pid'] = Request::param('menu_pid/d', 0); $param['menu_name'] = Request::param('menu_name/s', ''); $param['menu_url'] = Request::param('menu_url/s', ''); $param['menu_sort'] = Request::param('menu_sort/d', 200); $param['menu_request'] = Request::param('menu_request/s', ''); $param['menu_response'] = Request::param('menu_response/s', ''); $param['menu_explain'] = Request::param('menu_explain/s', ''); //aaron add $param['vue_component'] = Request::param('vue_component/s', ''); $param['vue_hidden'] = Request::param('vue_hidden/d', 0); $param['vue_path'] = Request::param('vue_path/s', ''); $param['vue_name'] = Request::param('vue_name/s', ''); $param['vue_icon'] = Request::param('vue_icon/s', '') ?: 'el-icon-platform-eleme'; validate(AdminMenuValidate::class)->scene('menu_add')->check($param); //level if($param['menu_pid']) { $menu = AdminMenuService::edit(['admin_menu_id'=>$param['menu_pid']]); $param['level'] = $menu['level'] + 1; }else { $param['level'] = 1; } $data = AdminMenuService::add($param); return success($data); } /** * 菜单修改 * * @method GET|POST * * @return json */ public function menuEdit() { $param['admin_menu_id'] = Request::param('admin_menu_id/d', ''); if (Request::isGet()) { validate(AdminMenuValidate::class)->scene('menu_id')->check($param); $data = AdminMenuService::edit($param); if ($data['is_delete'] == 1) { exception('菜单已被删除:' . $param['admin_menu_id']); } } else { $param['menu_pid'] = Request::param('menu_pid/d', 0); $param['menu_name'] = Request::param('menu_name/s', ''); $param['menu_url'] = Request::param('menu_url/s', ''); $param['menu_sort'] = Request::param('menu_sort/d', 200); $param['menu_request'] = Request::param('menu_request/s', ''); $param['menu_response'] = Request::param('menu_response/s', ''); $param['menu_explain'] = Request::param('menu_explain/s', ''); //aaron add $param['vue_component'] = Request::param('vue_component/s', ''); $param['vue_hidden'] = Request::param('vue_hidden/d', 0); $param['vue_path'] = Request::param('vue_path/s', ''); $param['vue_name'] = Request::param('vue_name/s', ''); $param['vue_icon'] = Request::param('vue_icon/s', 'el-icon-s-home'); //level if(!$param['menu_pid']) { $param['level'] = 1; }else { $info = AdminMenuService::edit(['admin_menu_id'=>$param['menu_pid']]); $param['level'] = $info['level'] + 1; } validate(AdminMenuValidate::class)->scene('menu_edit')->check($param); $data = AdminMenuService::edit($param, 'post'); } return success($data); } /** * 菜单删除 * * @method POST * * @return json */ public function menuDele() { $param['admin_menu_id'] = Request::param('admin_menu_id/d', ''); validate(AdminMenuValidate::class)->scene('menu_dele')->check($param); $data = AdminMenuService::dele($param['admin_menu_id']); return success($data); } /** * 菜单文档 * * @method GET * * @return json */ public function menuDoc() { $param['admin_menu_id'] = Request::param('admin_menu_id/d', ''); validate(AdminMenuValidate::class)->scene('menu_id')->check($param); $data = AdminMenuService::info($param['admin_menu_id']); if ($data['is_delete'] == 1) { exception('菜单已删除:' . $param['admin_menu_id']); } return success($data); } /** * 菜单上传图片 * * @method POST * * @return json */ public function menuUpload() { $param['image_file'] = Request::file('image_file'); $param['image_field'] = Request::param('image_field/s', ''); validate(AdminMenuValidate::class)->scene('menu_image')->check($param); $data = AdminMenuService::upload($param); return success($data); } /** * 菜单是否禁用 * * @method POST * * @return json */ public function menuDisable() { $param['admin_menu_id'] = Request::param('admin_menu_id/d', ''); $param['is_disable'] = Request::param('is_disable/d', 0); validate(AdminMenuValidate::class)->scene('menu_id')->check($param); $data = AdminMenuService::disable($param); return success($data); } /** * 菜单是否无需权限 * * @method POST * * @return json */ public function menuUnauth() { $param['admin_menu_id'] = Request::param('admin_menu_id/d', ''); $param['is_unauth'] = Request::param('is_unauth/d', 0); validate(AdminMenuValidate::class)->scene('menu_id')->check($param); $data = AdminMenuService::unauth($param); return success($data); } /** * 菜单角色 * * @method GET * * @return json */ public function menuRole() { $page = Request::param('page/d', 1); $limit = Request::param('limit/d', 10); $sort_field = Request::param('sort_field/s', ''); $sort_type = Request::param('sort_type/s', ''); $admin_menu_id = Request::param('admin_menu_id/d', ''); validate(AdminMenuValidate::class)->scene('menu_id')->check(['admin_menu_id' => $admin_menu_id]); $where0 = [['admin_menu_ids', 'like', $admin_menu_id], ['is_delete', '=', 0]]; $where1 = [['admin_menu_ids', 'like', $admin_menu_id . ',%'], ['is_delete', '=', 0]]; $where2 = [['admin_menu_ids', 'like', '%,' . $admin_menu_id . ',%'], ['is_delete', '=', 0]]; $where3 = [['admin_menu_ids', 'like', '%,' . $admin_menu_id], ['is_delete', '=', 0]]; $where = [$where0, $where1, $where2, $where3]; $whereOr = true; $order = []; if ($sort_field && $sort_type) { $order = [$sort_field => $sort_type]; } $field = ''; $data = AdminMenuService::role($where, $page, $limit, $order, $field, $whereOr); return success($data); } /** * 菜单角色解除 * * @method POST * * @return json */ public function menuRoleRemove() { $param['admin_menu_id'] = Request::param('admin_menu_id/d', ''); $param['admin_role_id'] = Request::param('admin_role_id/d', ''); validate(AdminMenuValidate::class)->scene('menu_id')->check($param); validate(AdminRoleValidate::class)->scene('role_id')->check($param); $data = AdminMenuService::roleRemove($param); return success($data); } /** * 菜单管理员 * * @method GET * * @return json */ public function menuUser() { $admin_role_id = Request::param('admin_role_id/s', ''); $admin_menu_id = Request::param('admin_menu_id/d', ''); if ($admin_menu_id) { $page = Request::param('page/d', 1); $limit = Request::param('limit/d', 10); $sort_field = Request::param('sort_field/s ', ''); $sort_type = Request::param('sort_type/s', ''); validate(AdminMenuValidate::class)->scene('menu_id')->check(['admin_menu_id' => $admin_menu_id]); $where0 = [['admin_menu_ids', 'like', $admin_menu_id], ['is_delete', '=', 0]]; $where1 = [['admin_menu_ids', 'like', $admin_menu_id . ',%'], ['is_delete', '=', 0]]; $where2 = [['admin_menu_ids', 'like', '%,' . $admin_menu_id . ',%'], ['is_delete', '=', 0]]; $where3 = [['admin_menu_ids', 'like', '%,' . $admin_menu_id], ['is_delete', '=', 0]]; $where = [$where0, $where1, $where2, $where3]; $whereOr = true; $order = []; if ($sort_field && $sort_type) { $order = [$sort_field => $sort_type]; } $field = ''; $data = AdminUserService::list($where, $page, $limit, $order, $field, $whereOr); return success($data); } else { $page = Request::param('page/d', 1); $limit = Request::param('limit/d', 10); $sort_field = Request::param('sort_field/s ', ''); $sort_type = Request::param('sort_type/s', ''); validate(AdminRoleValidate::class)->scene('role_id')->check(['admin_role_id' => $admin_role_id]); $where0 = [['admin_role_ids', 'like', $admin_role_id], ['is_delete', '=', 0]]; $where1 = [['admin_role_ids', 'like', $admin_role_id . ',%'], ['is_delete', '=', 0]]; $where2 = [['admin_role_ids', 'like', '%,' . $admin_role_id . ',%'], ['is_delete', '=', 0]]; $where3 = [['admin_role_ids', 'like', '%,' . $admin_role_id], ['is_delete', '=', 0]]; $where = [$where0, $where1, $where2, $where3]; $whereOr = true; $order = []; if ($sort_field && $sort_type) { $order = [$sort_field => $sort_type]; } $field = ''; $data = AdminMenuService::user($where, $page, $limit, $order, $field, $whereOr); return success($data); } } /** * 菜单管理员解除 * * @method POST * * @return json */ public function menuUserRemove() { $param['admin_menu_id'] = Request::param('admin_menu_id/d', ''); $param['admin_user_id'] = Request::param('admin_user_id/d', ''); validate(AdminMenuValidate::class)->scene('menu_id')->check($param); validate(AdminUserValidate::class)->scene('user_id')->check($param); $data = AdminMenuService::userRemove($param); return success($data); } }