HandlerInterface.php 892 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Module\OpenAPI\Contracts;
  3. use App\Module\OpenAPI\Enums\SCOPE_TYPE;
  4. use Illuminate\Http\JsonResponse;
  5. /**
  6. * OpenAPI Handler接口
  7. *
  8. * 定义所有业务Handler必须实现的基本方法
  9. */
  10. interface HandlerInterface
  11. {
  12. /**
  13. * 处理请求
  14. *
  15. * @param array $data 请求数据
  16. * @param array $context 上下文信息(如用户信息、应用信息等)
  17. * @return JsonResponse
  18. */
  19. public function handle(array $data, array $context = []): JsonResponse;
  20. /**
  21. * 验证权限
  22. *
  23. * @param array $scopes 应用权限范围
  24. * @param array $context 上下文信息
  25. * @return bool
  26. */
  27. public function validatePermissions(array $scopes, array $context = []): bool;
  28. /**
  29. * 获取所需的权限范围
  30. *
  31. * @return SCOPE_TYPE[]
  32. */
  33. public function getRequiredScopes(): array;
  34. }