CommentPagesResponse.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. /**
  3. * 评论分页返回封装.
  4. *
  5. * @author nj <nj@gmail.com>
  6. * @date 2020-01-28 20:46:56
  7. */
  8. declare(strict_types=1);
  9. namespace Modules\Api\Responses;
  10. use App\Contracts\Responsable;
  11. use App\Repositories\Utils\M3u8CacheRepository;
  12. class CommentPagesResponse implements Responsable
  13. {
  14. /**
  15. * 录入的数据.
  16. *
  17. * @var mixed
  18. */
  19. private $data = null;
  20. /**
  21. * 附加条件参数.
  22. *
  23. * @var array
  24. */
  25. private $params = [];
  26. public function __construct($data = null, $params = [])
  27. {
  28. $this->data = $data;
  29. $this->params = $params;
  30. }
  31. public function toResponse(
  32. $request = null
  33. ) {
  34. $data = [];
  35. $result = $this->data->toArray();
  36. if (!empty($result['data'])) {
  37. foreach ($result['data'] as $k => $v) {
  38. $data[$k] = [
  39. 'id' => $v['id'],
  40. 'created_at' => $v['created_at'],
  41. // 'user_id' => $v['user_id'],
  42. // 'parent_user_id' => $v['parent_user_id'],
  43. // 'module' => $v['module'],
  44. // 'svalue' => $v['svalue'],
  45. // 'subject' => $v['subject'],
  46. 'content' => $v['content'],
  47. // 'parent_id' => $v['parent_id'],
  48. // 'floor' => $v['floor'],
  49. // 'quote' => $v['quote'],
  50. // 'is_top' => $v['is_top'],
  51. // 'replaied_at' => $v['replaied_at'],
  52. // 'total_support' => $v['total_support'],
  53. // 'total_against' => $v['total_against'],
  54. // 'total_quote' => $v['total_quote'],
  55. ];
  56. $data[$k]['user'] = null;
  57. if (!empty($v['user'])) {
  58. $data[$k]['user'] = $v['user'];
  59. $data[$k]['user']['avatar'] = M3u8CacheRepository::getImageUrl($data[$k]['user']['avatar']);
  60. unset($data[$k]['user']['id']);
  61. }
  62. unset($data[$k]['user']['gender']);
  63. }
  64. }
  65. $result['data'] = $data;
  66. if (!empty($this->params['check_permission'])) {
  67. $result['check_permission'] = $this->params['check_permission'];
  68. }
  69. return json_success($result);
  70. }
  71. }