UserResource.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Resources;
  3. use Illuminate\Http\Resources\Json\JsonResource;
  4. use Illuminate\Support\Facades\Storage;
  5. use Illuminate\Support\Facades\App;
  6. class UserResource extends JsonResource
  7. {
  8. /**
  9. * Transform the resource into an array.
  10. *
  11. * @param \Illuminate\Http\Request $request
  12. * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
  13. */
  14. public function toArray($request)
  15. {
  16. $data = [
  17. "id" => $this->userid,
  18. "userName" => $this->username,
  19. "nickName" => $this->nickname,
  20. "email" => $this->email,
  21. "role" => json_decode($this->role),
  22. "created_at" => $this->created_at,
  23. "updated_at" => $this->updated_at,
  24. ];
  25. if($this->avatar){
  26. $data['avatarName'] = $this->avatar;
  27. $img = str_replace('.jpg','_s.jpg',$this->avatar);
  28. if (App::environment('local')) {
  29. $data['avatar'] = Storage::url($img);
  30. }else{
  31. $data['avatar'] = Storage::temporaryUrl($img, now()->addDays(6));
  32. }
  33. }
  34. return $data;
  35. }
  36. }