diff --git a/app/middleware/AuthMiddleware.php b/app/middleware/AuthMiddleware.php index 8c96a0d..8306cc3 100644 --- a/app/middleware/AuthMiddleware.php +++ b/app/middleware/AuthMiddleware.php @@ -54,11 +54,15 @@ class AuthMiddleware implements MiddlewareInterface // 从 Header 获取 Token $token = $request->header('Authorization'); + $language = Util::getParam($request, 'language'); + $language = $language=='zh_CN'?:'en'; //需要登录并且未提供token if ($isLogin && (!$token || !str_starts_with($token, 'Bearer '))) { - return Util::fail('','请先登录',401); + locale($language); + return Util::fail('',trans('user_login'),401); // throw new BusinessException('未提供 Token'.$isLogin, 401); }elseif(!$isLogin){ + locale($language); return $handler($request); } @@ -68,8 +72,11 @@ class AuthMiddleware implements MiddlewareInterface // 验证 Token 并获取用户ID $decoded = JwtUtil::verifyToken($token); - $userId = $decoded->sub; + if (!isset($decoded->sub)) { + return Util::fail('', trans('user_login'),401); + } + $userId = $decoded->sub; $user = User::select(['id','name','sex','role','avatar','email','password','language','created_at']) ->find($userId); if(!$user){ diff --git a/resource/translations/en/messages.php b/resource/translations/en/messages.php index dffe5e5..b88fa5f 100644 --- a/resource/translations/en/messages.php +++ b/resource/translations/en/messages.php @@ -6,6 +6,7 @@ return [ 'login_success' => ' login success', 'password_error' => ' password error', 'user_none' => ' user none', + 'user_login' => ' Please log in first', 'not_null' => ' not null', 'code_error' => ' code error', 'format_error' => ' format error', diff --git a/resource/translations/zh_CN/messages.php b/resource/translations/zh_CN/messages.php index 09ede6c..285ec25 100644 --- a/resource/translations/zh_CN/messages.php +++ b/resource/translations/zh_CN/messages.php @@ -6,6 +6,7 @@ return [ 'login_success' => ' 登录成功', 'password_error' => ' 密码错误', 'user_none' => ' 用户不存在', + 'user_login' => ' 请先登录', 'not_null' => ' 不能为空', 'code_error' => ' 验证码错误', 'format_error' => ' 格式错误',