PermissionController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace App\Http\Controllers\Backend\Server\System;
  3. use App\Exceptions\ApiException;
  4. use App\Http\Controllers\Controller;
  5. use App\Http\Services\Backend\Server\System\PermissionService;
  6. use App\Http\Services\Backend\Server\System\RoleService;
  7. use App\Models\System\Menu;
  8. use App\Models\System\Role;
  9. use Illuminate\Http\JsonResponse;
  10. use Illuminate\Http\Request;
  11. class PermissionController extends Controller
  12. {
  13. private PermissionService $permissionService;
  14. public function __construct(PermissionService $permissionService)
  15. {
  16. $this->permissionService = $permissionService;
  17. }
  18. public function index()
  19. {
  20. // 处理首页逻辑
  21. return 'index';
  22. }
  23. public function show($id)
  24. {
  25. // 处理显示单个用户的逻辑
  26. return self::success();
  27. }
  28. public function create()
  29. {
  30. // 显示创建用户的表单
  31. }
  32. public function store(Request $request)
  33. {
  34. // 创建分配逻辑
  35. }
  36. public function edit($id)
  37. {
  38. // 显示编辑用户的表单
  39. }
  40. /**
  41. * @throws ApiException
  42. */
  43. public function update(Request $request, $id): JsonResponse
  44. {
  45. // 更新用户逻辑
  46. $params = $request->all();
  47. $this->permissionService->assignPermission($params, $id);
  48. return self::success(true);
  49. }
  50. public function destroy($id)
  51. {
  52. // 删除用户逻辑
  53. }
  54. public function getRoleMenus($id)
  55. {
  56. $res = $this->permissionService->getMenus($id, Role::class);
  57. return self::success($res);
  58. }
  59. public function assignRoleMenu(Request $request, $id)
  60. {
  61. $params = ['permission' => $request->post('menuIds', [])];
  62. $this->permissionService->assignRolePermission($params, $id);
  63. return self::success(true);
  64. }
  65. }