From 87ffd9faefd37fb2b759228c62053287172b984b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=B8=85=E7=88=BD?= Date: Tue, 22 Apr 2025 15:47:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E7=AE=A1=E5=90=8E=E5=8F=B0=20-=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=9D=9E=E8=B6=85=E7=BA=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E4=B8=8B=E5=85=B6=E4=BB=96=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E6=9D=83=E9=99=90=E8=8F=9C=E5=8D=95=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/Menu/GetMenuTreeController.php | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/Server/application/superadmin/controller/Menu/GetMenuTreeController.php b/Server/application/superadmin/controller/Menu/GetMenuTreeController.php index 77eed0e7..6e3d029f 100644 --- a/Server/application/superadmin/controller/Menu/GetMenuTreeController.php +++ b/Server/application/superadmin/controller/Menu/GetMenuTreeController.php @@ -84,12 +84,11 @@ class GetMenuTreeController extends BaseController protected function getTopMenusInPermissionIds(array $permissionIds): array { $where = [ - 'id' => ['in', $permissionIds], 'parentId' => 0, 'status' => 1, ]; - return MenuModel::where($where)->order('sort', 'asc')->select()->toArray(); + return MenuModel::where($where)->whereIn('id', $permissionIds)->order('sort', 'asc')->select()->toArray(); } /** @@ -100,12 +99,7 @@ class GetMenuTreeController extends BaseController */ protected function getAllChildrenInPermissionIds(array $topMenuIds): array { - $where = [ - 'parentId' => ['in', $topMenuIds], - 'status' => 1, - ]; - - return MenuModel::where($where)->order('sort', 'asc')->select()->toArray(); + return MenuModel::where('status', 1)->whereIn('parentId', $topMenuIds)->order('sort', 'asc')->select()->toArray(); } /** @@ -119,18 +113,21 @@ class GetMenuTreeController extends BaseController $topMenus = $this->getTopMenusInPermissionIds($permissionIds); // 菜单ID集合,用于获取子菜单 - $menuIds = array_column($topMenus, 'id'); + $childMenus = $this->getAllChildrenInPermissionIds( + array_column($topMenus, 'id') + ); - return $this->getAllChildrenInPermissionIds($menuIds); + return $this->_makeMenuTree($topMenus, $childMenus); } /** * 构建菜单树. * + * @param array $topMenus * @param array $childMenus * @return array */ - protected function _makeMenuTree(array $childMenus): array + protected function _makeMenuTree(array $topMenus, array $childMenus): array { // 将子菜单按照父ID进行分组 $childMenusGroup = []; @@ -158,15 +155,8 @@ class GetMenuTreeController extends BaseController */ protected function getMenuTreeByPermissions(array $permissionIds): array { - if ($permissionIds) { - $childMenus = $this->getUserMenus($permissionIds); - - // 构建菜单树 - return $this->_makeMenuTree($childMenus); - } - // 如果没有权限,返回空数组 - return []; + return $permissionIds ? $this->getUserMenus($permissionIds) : []; } /**