SessionResource.php 844 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App\Http\Resources\V3;
  3. use Illuminate\Http\Request;
  4. /**
  5. * 一次登录的结果:bearer token + 当前用户资料。
  6. *
  7. * token 是 JWT,有效期一年,与 v2 `POST /v2/sign-in` 签出的完全相同、两边互认。
  8. * 服务端不保存会话,退出登录就是客户端丢掉 token。
  9. */
  10. class SessionResource extends BaseResource
  11. {
  12. /**
  13. * @param Request $request
  14. * @return array{
  15. * token: string,
  16. * user: array{id: string, nickName: string, userName: string, realName: string, sn: int, avatar: string|null, roles: string[], email: string}
  17. * }
  18. */
  19. public function toArray($request): array
  20. {
  21. return [
  22. 'token' => $this->resource['token'],
  23. 'user' => MeResource::make($this->resource['user'])->toArray($request),
  24. ];
  25. }
  26. }