Result.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Tools;
  3. use App\Constants\ErrorCode;
  4. class Result
  5. {
  6. public static function success($data = [])
  7. {
  8. return static::result(ErrorCode::SUCCESS, ErrorCode::getMessage(ErrorCode::SUCCESS), $data);
  9. }
  10. public static function error($message = '', $code = ErrorCode::ERROR, $data = [])
  11. {
  12. if (empty($message)) {
  13. return static::result($code, ErrorCode::getMessage($code), $data);
  14. } else {
  15. return static::result($code, $message, $data);
  16. }
  17. }
  18. protected static function result($code, $message, $data)
  19. {
  20. return [
  21. 'code' => $code,
  22. 'message' => $message,
  23. 'data' => $data,
  24. ];
  25. }
  26. /**
  27. * 递归查询
  28. * @param $menuItems
  29. * @param $parentId
  30. * @return array
  31. */
  32. public static function buildMenuTree($menuItems, $parentId = 0) {
  33. $tree = [];
  34. foreach ($menuItems as $item) {
  35. if ($item['pid'] == $parentId) {
  36. // 找到子菜单
  37. $children = self::buildMenuTree($menuItems, $item['category_id']);
  38. // 如果子菜单存在,则添加到当前菜单的children中
  39. if ($children) {
  40. $item['children'] = $children;
  41. }
  42. // 将当前菜单添加到树中
  43. $tree[] = $item;
  44. }
  45. }
  46. return $tree;
  47. }
  48. }