VerifyToken.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | A3Mall
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2020 http://www.a3-mall.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: xzncit <158373108@qq.com>
  8. // +----------------------------------------------------------------------
  9. namespace mall\middleware;
  10. use Closure;
  11. use mall\basic\Users;
  12. use mall\library\tools\jwt\Token;
  13. use think\Request;
  14. use think\Response;
  15. class VerifyToken {
  16. /**
  17. * @param Request $request
  18. * @param Closure $next
  19. * @return Response
  20. */
  21. public function handle(Request $request, Closure $next){
  22. try{
  23. $token = Token::check();
  24. $result = Token::parse($token,"id");
  25. if(!is_array($result)){
  26. throw new \Exception("您还未登录,请先登录",401);
  27. }
  28. Users::info($result["value"]);
  29. }catch(\Exception $ex){
  30. return json(["info"=>$ex->getMessage(),"status"=>"-1001"]);
  31. }
  32. return $next($request);
  33. }
  34. }