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');