TradeMiddleware.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. * +----------------------------------------------------------------------
  4. * | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  5. * +----------------------------------------------------------------------
  6. * | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
  7. * +----------------------------------------------------------------------
  8. * | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  9. * +----------------------------------------------------------------------
  10. * | Author: CRMEB Team <admin@crmeb.com>
  11. * +----------------------------------------------------------------------
  12. */
  13. namespace app\http\middleware\api;
  14. use app\Request;
  15. use Closure;
  16. use Exception;
  17. use qiniu\exceptions\ApiException;
  18. use qiniu\interfaces\MiddlewareInterface;
  19. /**
  20. * 交易类
  21. * Class BlockerMiddleware
  22. * @package app\http\middleware\api
  23. */
  24. class TradeMiddleware implements MiddlewareInterface
  25. {
  26. /**
  27. * @param Request $request
  28. * @param Closure $next
  29. * @return mixed
  30. * @throws Exception
  31. */
  32. public function handle(Request $request, Closure $next)
  33. {
  34. $user = $request->user();
  35. $trade_password = $request->param('trade_password', '');
  36. if (!$trade_password) throw new ApiException('请输入交易密码');
  37. if (!$user['trade_pwd']) throw new ApiException('请先设置交易密码');
  38. [$password,] = password($trade_password, $user['trade_salt']);
  39. if ($password != $user['trade_pwd']) throw new ApiException('交易密码错误');
  40. return $next($request);
  41. }
  42. }