request->params([ ['keyword', ''], ['status', ''], ['page', 1], ['limit', 20] ]); $service = new SysMenuService(); return success($service->getPage($data)); } /** * 获取菜单详情 * @param int $id * @return Response */ public function info(int $id) { $service = new SysMenuService(); return success($service->getInfo($id)); } /** * 添加菜单 * @return Response */ public function add() { $data = $this->request->params([ ['menu_key', ''], ['menu_name', ''], ['menu_icon', ''], ['menu_path', ''], ['menu_params', ''], ['sort_order', 0], ['status', 1], ['description', ''] ]); $this->validate($data, [ 'menu_key' => 'require|unique:sys_menus', 'menu_name' => 'require', 'menu_path' => 'require' ]); $service = new SysMenuService(); $id = $service->add($data); return success(['id' => $id], '添加成功'); } /** * 编辑菜单 * @param int $id * @return Response */ public function edit(int $id) { $data = $this->request->params([ ['menu_key', ''], ['menu_name', ''], ['menu_icon', ''], ['menu_path', ''], ['menu_params', ''], ['sort_order', 0], ['status', 1], ['description', ''] ]); $this->validate($data, [ 'menu_key' => 'require', 'menu_name' => 'require', 'menu_path' => 'require' ]); $service = new SysMenuService(); $service->edit($id, $data); return success([], '编辑成功'); } /** * 删除菜单 * @param int $id * @return Response */ public function del(int $id) { $service = new SysMenuService(); $service->del($id); return success([], '删除成功'); } /** * 修改菜单状态 * @param int $id * @return Response */ public function modifyStatus(int $id) { $data = $this->request->params([ ['status', 1] ]); $service = new SysMenuService(); $service->modifyStatus($id, $data['status']); return success([], '操作成功'); } /** * 获取所有菜单(用于角色权限配置) * @return Response */ public function getAllMenus() { $service = new SysMenuService(); return success($service->getAllMenus()); } /** * 获取角色菜单权限 * @param int $roleId * @return Response */ public function getRoleMenus(int $roleId) { $service = new SysMenuService(); return success($service->getRoleMenus($roleId)); } /** * 设置角色菜单权限 * @param int $roleId * @return Response */ public function setRoleMenus(int $roleId) { $data = $this->request->params([ ['menu_ids', []] ]); $service = new SysMenuService(); $service->setRoleMenus($roleId, $data['menu_ids']); return success([], '设置成功'); } }