MenuController.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2024/8/14 21:30
  7. */
  8. namespace App\Http\Controllers\Backend\Server\System;
  9. use App\Exceptions\ApiException;
  10. use App\Http\Controllers\Controller;
  11. use App\Http\Requests\Backend\Server\System\MenuRequest;
  12. use App\Http\Services\Backend\Server\System\MenuService;
  13. use Illuminate\Http\Client\Response;
  14. use Illuminate\Http\JsonResponse;
  15. use Illuminate\Http\Request;
  16. class MenuController extends Controller
  17. {
  18. private MenuService $menuService;
  19. function __construct(MenuService $menuService)
  20. {
  21. $this->menuService = $menuService;
  22. // $this->middleware('permission:system:menu:query|system:menu:create|system:menu:update|system:menu:delete', ['only' => ['index', 'show']]);
  23. // $this->middleware('permission:system:menu:create', ['only' => ['create', 'store']]);
  24. // $this->middleware('permission:system:menu:update', ['only' => ['edit', 'update']]);
  25. // $this->middleware('permission:system:menu:delete', ['only' => ['destroy']]);
  26. }
  27. public function index(Request $request): JsonResponse
  28. {
  29. // 处理首页逻辑
  30. $params = $request->all();
  31. $res = $this->menuService->getMenuList($params);
  32. return self::success($res);
  33. }
  34. public function show($id)
  35. {
  36. // 处理显示单个用户的逻辑
  37. $res = $this->menuService->getMenu($id);
  38. return self::success($res);
  39. }
  40. public function create()
  41. {
  42. // 显示创建用户的表单
  43. }
  44. /**
  45. * @throws ApiException
  46. */
  47. public function store(MenuRequest $request): JsonResponse
  48. {
  49. $params = $request->safe()->only(['name', 'permission', 'type', 'sort', 'parentId', 'path', 'icon', 'component', 'componentName', 'status', 'visible', 'keepAlive', 'alwaysShow']);
  50. // $permissions = $request->post('permission', '');
  51. $res = $this->menuService->createMenu($params);
  52. return self::success($res);
  53. }
  54. public function edit($id)
  55. {
  56. // 显示编辑用户的表单
  57. }
  58. /**
  59. * @throws ApiException
  60. */
  61. public function update(MenuRequest $request, int $id): JsonResponse
  62. {
  63. $params = [...$request->safe()->all(), 'id' => $id];
  64. $this->menuService->updateMenu($params);
  65. return self::success(true);
  66. }
  67. /**
  68. * @throws ApiException
  69. */
  70. public function destroy($id): JsonResponse
  71. {
  72. // 删除用户逻辑
  73. $res = $this->menuService->deleteMenu($id);
  74. return self::success($res);
  75. }
  76. public function simpleList()
  77. {
  78. $res = (new MenuService())->getSimpleMenuList();
  79. return self::success($res);
  80. }
  81. }