ManagerDetailResponse.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * 管理员详情返回封装.
  4. *
  5. * @author nj
  6. * @date 2021-01-23 17:36:29
  7. */
  8. namespace Modules\ManageApi\Responses;
  9. use Illuminate\Contracts\Support\Responsable;
  10. class ManagerDetailResponse implements Responsable
  11. {
  12. /**
  13. * 录入的数据.
  14. *
  15. * @var mixed
  16. */
  17. private $data = null;
  18. /**
  19. * 附加条件参数.
  20. *
  21. * @var array
  22. */
  23. private $params = [];
  24. public function __construct($data = null, $params = [])
  25. {
  26. $this->data = $data;
  27. $this->params = $params;
  28. }
  29. public function toResponse(
  30. $request = null
  31. ) {
  32. if (empty($this->data)) {
  33. return json_fail(trans('common.err_resource_not_found'));
  34. }
  35. $result = $this->data->toArray();
  36. if (isset($result['role']['permissions']) && is_string($result['role']['permissions'])) {
  37. $arrPermissions = !empty($result['role']['permissions']) ? explode(',', $result['role']['permissions']) : [];
  38. $result['role']['permissions'] = $arrPermissions;
  39. }
  40. unset($result['id']);
  41. return json_success($result);
  42. }
  43. }