afa 5 сар өмнө
parent
commit
73a5e869f6

+ 1 - 1
app/api/controller/Base.php

@@ -48,7 +48,7 @@ class Base
     {
       
         $token=request()->header('token');
-    
+
         $actionname = $this->request->action();
         $noNeedLoginSet=is_string($this->noNeedLogin)?[$this->noNeedLogin]:$this->noNeedLogin;
         $noNeedLogin = in_array('*',$noNeedLoginSet) || in_array($actionname,$noNeedLoginSet);

+ 9 - 1
app/api/controller/User.php

@@ -2,7 +2,7 @@
 
 namespace app\api\controller;
 
-use think\captcha\facade\Captcha;
+use app\api\service\auth\MysqlAdapter;
 use app\api\service\auth\ApiAuthService;
 use app\api\validate\User as UserValidate;
 use think\exception\ValidateException;
@@ -39,4 +39,12 @@ class User extends Base
         }
         return  $this->success('ok', $user);
     }
+
+
+    //退出登录
+    public function logout()
+    {
+        MysqlAdapter::logout($this->userinfo['id']);
+        return  $this->success('ok');
+    }
 }

+ 1 - 1
app/api/route/route.php

@@ -10,7 +10,7 @@ Route::group('user', function () {
      
       Route::rule('login','user/login','POST');
       Route::rule('userinfo','user/userinfo','GET|POST');
-      Route::rule('captcha','user/captcha','GET|POST');
+      Route::rule('logout','user/logout','GET|POST');
 
 
   })->middleware(AllowCrossDomain::class);

+ 1 - 15
app/api/service/auth/ApiAuthService.php

@@ -14,21 +14,7 @@ class ApiAuthService
     protected $allowFields = ['id', 'nickname', 'mobile', 'avatar', 'balance', 'score'];
     
 
-    public function userinfo(bool $allinfo = false)
-    {
-       
-    }
-
-    public function logout()
-    {
-        //$this->adapter->logout();
-    }
 
-    public function getToken()
-    {
-        //$usertoken=$this->adapter->getUserToken();
-        //return $usertoken->token;
-    }
 
     public function login(string $username, string $password)
     {
@@ -58,7 +44,7 @@ class ApiAuthService
 
 
     public function updateToken(int $uid, array $arr)
-    {
+    {   
         return UserToken::where('user_id', $uid)->update($arr);
     }
 

+ 5 - 3
app/api/service/auth/MysqlAdapter.php

@@ -45,8 +45,10 @@ class MysqlAdapter
         return $token ;
     }
 
-    public function logout()
-    {
-        UserToken::where('token',$this->usertoken->token)->delete();
+    public static function logout(int $uid)
+    {   
+        $token = request()->header('token');
+        UserToken::where('$token', $token)->delete();
+        Cache::delete('user_info_'.$uid);
     }
 }