MeController.php 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Http\Controllers\V3;
  3. use App\Http\Controllers\Concerns\ResolvesCurrentUser;
  4. use App\Http\Controllers\Controller;
  5. use App\Http\Resources\V3\MeResource;
  6. use App\Services\V3\SessionService;
  7. use Illuminate\Http\Request;
  8. /**
  9. * 当前登录用户本人。
  10. *
  11. * 取代 `GET /v2/auth/current`(`AuthController@getUserInfoByToken`)。v2 那份在
  12. * dashboard-v4 下线前原样保留,不要改动;wikipali-mobile 目前也还在用它。
  13. */
  14. class MeController extends Controller
  15. {
  16. use ResolvesCurrentUser;
  17. public function __construct(private readonly SessionService $sessions) {}
  18. /**
  19. * 我的资料
  20. *
  21. * 前端启动时用已存的 token 调它恢复登录态;401 表示 token 无效或过期,应清掉 token。
  22. * 不回传 token(v2 的 auth/current 会把请求里的 token 原样回显)。
  23. */
  24. public function show(Request $request): MeResource
  25. {
  26. return MeResource::make($this->sessions->me($this->currentUser($request)['user_uid']));
  27. }
  28. }