VerifyShopMiddleware.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2019-06-05
  6. * Time: 18:30
  7. */
  8. namespace App\Http\Middleware;
  9. use App\Traits\ShopInfoTrait;
  10. use Closure;
  11. use Tymon\JWTAuth\Exceptions\JWTException;
  12. use Tymon\JWTAuth\Exceptions\TokenExpiredException;
  13. use Tymon\JWTAuth\Exceptions\TokenInvalidException;
  14. use Tymon\JWTAuth\Facades\JWTAuth;
  15. class VerifyShopMiddleware {
  16. use ShopInfoTrait;
  17. /**
  18. * Handle an incoming request.
  19. *
  20. * @param \Illuminate\Http\Request $request
  21. * @param \Closure $next
  22. * @return mixed
  23. */
  24. public function handle($request, Closure $next)
  25. {
  26. try {
  27. $token = JWTAuth::decode(JWTAuth::getToken());
  28. if(!empty($token)){
  29. if($token['type'] == 2){
  30. $shop = Shop::where(['shop_id'=>$token['shop']->shop_id])->first();
  31. if($shop->status == 0){
  32. $error = [
  33. 'message' => '商户已禁用,禁止操作',
  34. 'code' => 401,
  35. ];
  36. return response()->json($error);
  37. }
  38. }
  39. }
  40. //$data = JWTAuth::decode($token);
  41. } catch (TokenExpiredException $e) {
  42. $error = [
  43. 'message' => 'Token is Expired',
  44. 'code' => 401,
  45. ];
  46. return response()->json($error);
  47. } catch (TokenInvalidException $e) {
  48. $error = [
  49. 'message' => $e->getMessage(),
  50. 'code' => 401,
  51. ];
  52. return response()->json($error);
  53. } catch (JWTException $e) {
  54. $error = [
  55. 'message' => $e->getMessage(),
  56. 'code' => 401,
  57. ];
  58. return response()->json($error);
  59. }catch (\Exception $e){
  60. $error = [
  61. 'message' => $e->getMessage(),
  62. 'code' => 401,
  63. ];
  64. return response()->json($error);
  65. }
  66. return $next($request);
  67. }
  68. }