PermissionController.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. // $result = $this->permissionService->getPermissions();
  26. // 处理显示单个用户的逻辑
  27. return self::success();
  28. }
  29. public function create()
  30. {
  31. // 显示创建用户的表单
  32. }
  33. public function store(Request $request)
  34. {
  35. // 创建分配逻辑
  36. }
  37. public function edit($id)
  38. {
  39. // 显示编辑用户的表单
  40. }
  41. /**
  42. * @throws ApiException
  43. */
  44. public function update(Request $request, $id): JsonResponse
  45. {
  46. // 更新用户逻辑
  47. $params = $request->all();
  48. $this->permissionService->assignPermission($params, $id);
  49. return self::success(true);
  50. }
  51. public function destroy($id)
  52. {
  53. // 删除用户逻辑
  54. }
  55. public function getRoleMenus(int $id): JsonResponse
  56. {
  57. $res = $this->permissionService->getPermissions($id, Role::class);
  58. return self::success($res);
  59. }
  60. public function assignRoleMenu(Request $request, $id)
  61. {
  62. $params = ['permission' => $request->post('menuIds', [])];
  63. $this->permissionService->assignRolePermission($params, $id);
  64. return self::success(true);
  65. }
  66. // 用户管理-分配角色-获取用户角色
  67. public function getUserRoles(int $id): JsonResponse
  68. {
  69. $res = $this->permissionService->getUserRoles($id);
  70. return self::success($res);
  71. }
  72. // 用户管理-分配用户角色
  73. public function assignUserRole(Request $request)
  74. {
  75. $data = $request->only(['userId', 'roleIds']);
  76. $this->permissionService->assignUserRole($data);
  77. return self::success(true);
  78. }
  79. }