From 9710a7be1279eb3b328ecf625af1b2f6cc9b40ad Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Fri, 14 Mar 2025 14:40:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=80=80=E5=87=BA?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v1/{Login.php => UserCenter.php} | 22 +++++++++++++++---- app/admin/route/v1.php | 5 ++++- 2 files changed, 22 insertions(+), 5 deletions(-) rename app/admin/controller/v1/{Login.php => UserCenter.php} (85%) diff --git a/app/admin/controller/v1/Login.php b/app/admin/controller/v1/UserCenter.php similarity index 85% rename from app/admin/controller/v1/Login.php rename to app/admin/controller/v1/UserCenter.php index 2e7cfce8..5a804929 100644 --- a/app/admin/controller/v1/Login.php +++ b/app/admin/controller/v1/UserCenter.php @@ -11,14 +11,14 @@ use thans\jwt\facade\JWTAuth; use think\facade\Cache; /** - * 登录控制器 + * 用户中心控制器 */ -class Login +class UserCenter { /** * 登录验证接口 */ - public function index() + public function login() { // 获取参数 $post = request()->post([ @@ -29,7 +29,7 @@ class Login ]); $user = new SysUserModel(); - $msg = ''; + $msg = ''; try { // 验证参数 $validate = new LoginValidate(); @@ -89,4 +89,18 @@ class Login 'token' => $token, ]); } + + // 退出登录 + public function logout() + { + $token = request()->header('Authorization'); + if (\think\helper\Str::startsWith($token, 'Bearer ')) { + $token = substr($token, 7); + } + + // token 加入黑名单 + JWTAuth::invalidate($token); + + return success('操作成功'); + } } diff --git a/app/admin/route/v1.php b/app/admin/route/v1.php index 7977110e..55f7a8ab 100644 --- a/app/admin/route/v1.php +++ b/app/admin/route/v1.php @@ -23,7 +23,10 @@ Route::group('v1', function () { ]); // 登录接口 - Route::post('login', 'Login/index'); + Route::post('login', 'UserCenter/login'); + + // 登出接口 + Route::get('logout', 'UserCenter/logout'); // 获取用户菜单权限 Route::get('{id}/menu', 'User/menu');