Menu.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. declare (strict_types=1);
  3. namespace app\controller;
  4. use app\BaseController;
  5. use app\service\MenuService;
  6. use app\service\PermissionService;
  7. class Menu extends BaseController
  8. {
  9. /**
  10. * 获取用户菜单列表
  11. */
  12. public function getUserMenus()
  13. {
  14. // return json_success([
  15. // [
  16. // 'meta' => [
  17. // 'title' => 'page.dashboard.title'
  18. // ],
  19. // 'name' => 'Dashboard',
  20. // 'path' => '/',
  21. // 'redirect' => '/analytics',
  22. // 'children' => [
  23. // [
  24. // 'name' => 'Analytics',
  25. // 'path' => '/analytics',
  26. // 'component' => '/dashboard/analytics/index',
  27. // 'meta' => [
  28. // 'affixTab' => true,
  29. // 'title' => 'page.dashboard.analytics'
  30. // ]
  31. // ]
  32. // ]
  33. // ]
  34. // ]);
  35. $webMenu = [];
  36. $webMenu[] = [
  37. 'meta' => [
  38. 'title' => 'page.dashboard.title'
  39. ],
  40. 'name' => 'Dashboard',
  41. 'path' => '/',
  42. 'redirect' => '/analytics',
  43. 'children' => [
  44. [
  45. 'name' => 'Analytics',
  46. 'path' => '/analytics',
  47. 'component' => '/dashboard/analytics/index',
  48. 'meta' => [
  49. 'affixTab' => true,
  50. 'title' => 'page.dashboard.analytics'
  51. ]
  52. ]
  53. ]
  54. ];
  55. try {
  56. $menus = MenuService::getMenuTree($this->userId);
  57. // $menus = $webMenu;
  58. return json_success($menus);
  59. } catch (\Exception $e) {
  60. return json_error('获取菜单失败:' . $e->getMessage());
  61. }
  62. }
  63. /**
  64. * 获取所有权限配置(用于角色权限分配)
  65. */
  66. public function getAllPermissions()
  67. {
  68. try {
  69. $permissions = PermissionService::getAllPermissions();
  70. return json_success($permissions);
  71. } catch (\Exception $e) {
  72. return json_error([], '获取权限配置失败:' . $e->getMessage());
  73. }
  74. }
  75. }