Result.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. /**
  49. * 递归查询
  50. * @param $menuItems
  51. * @param $parentId
  52. * @return array
  53. */
  54. public static function buildCityTree($menuItems, $parentId = 0) {
  55. $tree = [];
  56. foreach ($menuItems as $item) {
  57. if ($item['pid'] == $parentId) {
  58. // 找到子菜单
  59. $children = self::buildCityTree($menuItems, $item['id']);
  60. // 如果子菜单存在,则添加到当前菜单的children中
  61. if ($children) {
  62. $item['children'] = $children;
  63. }
  64. // 将当前菜单添加到树中
  65. $tree[] = $item;
  66. }
  67. }
  68. return $tree;
  69. }
  70. }