diff --git a/app/common/middleware/ShopTokenMiddleware.php b/app/common/middleware/ShopTokenMiddleware.php index e0a9b60..4ccda6c 100644 --- a/app/common/middleware/ShopTokenMiddleware.php +++ b/app/common/middleware/ShopTokenMiddleware.php @@ -2,7 +2,8 @@ namespace app\common\middleware; -use app\common\repositories\user\UserRepository; +use app\common\repositories\system\merchant\MerchantAdminRepository; +use app\common\repositories\system\merchant\MerchantRepository; use app\Request; use crmeb\exceptions\AuthException; use crmeb\services\JwtTokenService; @@ -17,24 +18,13 @@ class ShopTokenMiddleware extends BaseMiddleware{ public function before(Request $request){ $force = $this->getArg(0, true); try { - $token = trim($request->header('X-Token')); - - - - throw new ValidateException('请登录'); - - + $token = trim($request->header('Shop-Token')); if (strpos($token, 'Bearer') === 0) $token = trim(substr($token, 6)); if (!$token) throw new ValidateException('请登录'); - - - - - /** - * @var UserRepository $repository + * @var MerchantAdminRepository $repository */ - $repository = app()->make(UserRepository::class); + $repository = app()->make(MerchantAdminRepository::class); $service = new JwtTokenService(); try { $payload = $service->parseToken($token); @@ -44,47 +34,42 @@ class ShopTokenMiddleware extends BaseMiddleware{ } catch (Throwable $e) {//Token 过期 throw new AuthException('token 已过期'); } - if ('user' != $payload->jti[1]) - throw new AuthException('无效的 token'); + if ('mer' != $payload->jti[1]) throw new AuthException('无效的 token'); - $user = $repository->get($payload->jti[0]); - if (!$user) - throw new AuthException('用户不存在'); - if (!$user['status']) - throw new AuthException('用户已被禁用'); - if ($user['cancel_time']) - throw new AuthException('用户不存在'); + $admin = $repository->get($payload->jti[0]); + if (!$admin) throw new AuthException('账号不存在'); + if (!$admin['status']) throw new AuthException('账号已被禁用'); + + /** + * @var MerchantRepository $merchantRepository + */ + $merchantRepository = app()->make(MerchantRepository::class); + + $merchant = $merchantRepository->get($admin->mer_id); + + if (!$merchant || !$merchant['status']) + throw new AuthException('商户已被锁定'); } catch (Throwable $e) { - if ($force) - throw $e; - $request->macro('isLogin', function () { + if ($force) throw $e; + $request->macro('shopIsLogin', function () { return false; }); - $request->macros(['tokenInfo', 'uid', 'userInfo', 'token'], function () { + $request->macros(['merchantType', 'shopMerId'], function () { throw new AuthException('请登录'); }); return; } $repository->updateToken($token); - $request->macro('isLogin', function () { + $request->macro('shopIsLogin', function () { return true; }); - $request->macro('userType', function () { - return 1; + $request->macro('merchantType', function () use (&$merchant) { + return $merchant->merchant_type; }); - $request->macro('tokenInfo', function () use (&$payload) { - return $payload; - }); - $request->macro('token', function () use (&$token) { - return $token; - }); - $request->macro('uid', function () use (&$user) { - return $user->uid; - }); - $request->macro('userInfo', function () use (&$user) { - return $user; + $request->macro('merchantId', function () use (&$admin) { + return $admin->mer_id; }); } diff --git a/app/controller/api/Supplier.php b/app/controller/api/Supplier.php index 06acb3f..cebecef 100644 --- a/app/controller/api/Supplier.php +++ b/app/controller/api/Supplier.php @@ -131,6 +131,8 @@ class Supplier extends BaseController{ return app('json')->success($data); } + + /** * Common: 获取全部供应商商品 * Author: wu-hui