MenuController.php 2.4 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:test|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()->all();
  50. $res = $this->menuService->createMenu($params);
  51. return self::success($res);
  52. }
  53. public function edit($id)
  54. {
  55. // 显示编辑用户的表单
  56. }
  57. /**
  58. * @throws ApiException
  59. */
  60. public function update(MenuRequest $request, int $id): JsonResponse
  61. {
  62. $params = [...$request->safe()->all(), 'id' => $id];
  63. $this->menuService->updateMenu($params);
  64. return self::success(true);
  65. }
  66. /**
  67. * @throws ApiException
  68. */
  69. public function destroy($id): JsonResponse
  70. {
  71. // 删除用户逻辑
  72. $res = $this->menuService->deleteMenu($id);
  73. return self::success($res);
  74. }
  75. public function simpleList()
  76. {
  77. $res = (new MenuService())->getSimpleMenuList();
  78. return self::success($res);
  79. }
  80. }