瀏覽代碼

测试验证重复登录

15313670163 2 月之前
父節點
當前提交
4d7ac7e7d7

+ 4 - 3
app/Controller/ChatController.php

@@ -82,7 +82,7 @@ class ChatController extends AbstractController
     public function topicType()
     {
         $type = array(
-            '1' => '课题',
+            '1' => '科研',
             '2' => '维权',
             '3' => '讨论',
         );
@@ -193,7 +193,8 @@ class ChatController extends AbstractController
     public function applyFriend()
     {
         $requireData = $this->request->all();
-        $frindid =$requireData['apply_id'];
+        $frindid =$requireData['friend_id']??0;
+        unset($requireData['friend_id']);
         unset($requireData['apply_id']);
         // 定义验证规则
         $validator = $this->validationFactory->make(
@@ -223,7 +224,7 @@ class ChatController extends AbstractController
             // var_dump($myFriends, '--------------------1');
             $redisClient->setUserFriends((string)$requireData['user_id'], $myFriends['data']);
             $myFriends = $this->chatServiceClient->getFriendsList(['user_id' => $frindid, 'status' => 2]);
-            // var_dump($myFriends, '-------------3-------1');
+             var_dump($myFriends, '-------------3-------1');
             $redisClient->setUserFriends((string)$frindid, $myFriends['data']);
             $result =  $redisClient->getUserFriends((string)$requireData['user_id']);
             // var_dump($result,'redis-结果');

+ 2 - 2
app/Controller/IndexController.php

@@ -63,8 +63,8 @@ class IndexController extends AbstractController
 //        return $result->getImageBase64();
 
     }
-    // 1
-    /**
+// test
+      /**
      * 获取验证码
      */
     public function getverifyCode(){

+ 24 - 2
app/Controller/LoginController.php

@@ -11,7 +11,7 @@ use Hyperf\Di\Annotation\Inject;
 use Hyperf\HttpServer\Annotation\AutoController;
 use Hyperf\Validation\Contract\ValidatorFactoryInterface;
 use \Phper666\JWTAuth\JWT;
-
+use App\Model\UserToken;
 /**
  * @AutoController()
  */
@@ -94,13 +94,35 @@ class LoginController extends AbstractController
 //        var_dump($userData);
         // 使用默认场景登录
         $token = $jwt->getToken('default', $userData);
+
+        $old_token = UserToken::where('user_id', $userInfos['data']['id'])->orderBy('created_at')->first();
+        var_dump("==============================old_token",$old_token);
+        if ($old_token) {
+            if ($old_token->token != $token->toString()) {
+                $out = $jwt->logout('default', $userData);
+                if ($out != $old_token->token) {
+                    $log_out = UserToken::where('user_id', $userInfos['data']['id'])->update(['token' => $out]);
+                    var_dump("******************log_out",$log_out);
+                } else {
+                    return Result::error("请不要重复登录!");
+                }
+            }
+        }else{
+            $user_token =  UserToken::create([
+                'user_id' => $userInfos['data']['id'],
+                'token' => $token->toString()
+            ]);
+            var_dump("==============================user_token",$user_token);
+            if (!$user_token) {
+                return Result::error("登录失败!");
+            }
+        }
         $data = [
             'token' => $token->toString(),
             'exp' => $jwt->getTTL($token->toString()),
         ];
         return Result::success($data);
     }
-
     /**
      * @return void
      */

+ 4 - 3
app/Controller/WebSocketController.php

@@ -79,12 +79,13 @@ class WebSocketController implements OnMessageInterface, OnOpenInterface, OnClos
         if (!in_array($result['receiver_id'], $myFriendsID)) {
             $myFriends = $this->chatServiceClient->getFriendsList(['user_id' => $userId, 'status' => 2]);
             $redisClient->setUserFriends($userId, $myFriends['data']);
-            $myFriendsArr = $myFriends['data'];
-                if (!in_array($result['receiver_id'], $myFriendsID)) {
+            $myFriendsArrdata = $myFriends['data'];
+            $myFriendsArrID = array_column($myFriendsArrdata, 'friend_id');
+                if (!in_array($result['receiver_id'], $myFriendsArrID)) {
                     $result['content'] = '您还不是好友,无法发送消息!';
                     $server->push((int) $frame->fd, json_encode($result));
+                    return;
                 }
-            return;
         }
             //给自己推一条数据
             if ($server->isEstablished($frame->fd)) {

+ 4 - 1
app/JsonRpc/PublicRpcService.php

@@ -217,7 +217,6 @@ class PublicRpcService extends AbstractServiceClient implements PublicRpcService
     {
         return $this->__request(__FUNCTION__, $data);
     }
-
     public function getTemplateClass(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
@@ -287,6 +286,7 @@ class PublicRpcService extends AbstractServiceClient implements PublicRpcService
     {
         return $this->__request(__FUNCTION__, $data);
     }
+<<<<<<< HEAD
     public function getWebsiteTemplateInfo(array $data){
         return $this->__request(__FUNCTION__, $data);
     }
@@ -306,6 +306,9 @@ class PublicRpcService extends AbstractServiceClient implements PublicRpcService
      * @return array|mixed
      */
     public function uploadFile(array $data)
+=======
+    public function getWebsiteTemplateInfo(array $data)
+>>>>>>> 20250208_onelogin_fr
     {
         return $this->__request(__FUNCTION__, $data);
     }

+ 3 - 1
app/JsonRpc/PublicRpcServiceInterface.php

@@ -129,7 +129,6 @@ interface PublicRpcServiceInterface
      *
      */
     public function modZhinengbumen(array $data);
-
     public function getTemplateClass(array $data);
     public function getTemplateList(array $data);
     public function getTemplateInfo(array $data);
@@ -148,6 +147,7 @@ interface PublicRpcServiceInterface
     public function updateComponent(array $data);
     public function getWebsiteTemplateList(array $data);
     public function getWebsiteTemplateInfo(array $data);
+<<<<<<< HEAD
     /**
      * @param array $data
      * @return mixed
@@ -160,4 +160,6 @@ interface PublicRpcServiceInterface
      */
     public function uploadFile(array $data);
 
+=======
+>>>>>>> 20250208_onelogin_fr
 }

+ 27 - 0
app/Model/UserToken.php

@@ -0,0 +1,27 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class UserToken extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'user_token';
+
+    /**
+     * The attributes that are mass assignable.
+     */
+    protected array $fillable = [];
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

+ 12 - 12
composer.lock

@@ -3833,16 +3833,16 @@
         },
         {
             "name": "hyperf/process",
-            "version": "v3.1.48",
+            "version": "v3.1.42",
             "source": {
                 "type": "git",
                 "url": "https://github.com/hyperf/process.git",
-                "reference": "8d68398bdb4f2623af1bec846399b6ce29bd7d2c"
+                "reference": "2b2286cff615989f01cb87691882b61c4c931ea3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/hyperf/process/zipball/8d68398bdb4f2623af1bec846399b6ce29bd7d2c",
-                "reference": "8d68398bdb4f2623af1bec846399b6ce29bd7d2c",
+                "url": "https://api.github.com/repos/hyperf/process/zipball/2b2286cff615989f01cb87691882b61c4c931ea3",
+                "reference": "2b2286cff615989f01cb87691882b61c4c931ea3",
                 "shasum": ""
             },
             "require": {
@@ -3899,7 +3899,7 @@
                     "type": "open_collective"
                 }
             ],
-            "time": "2024-12-02T10:54:30+00:00"
+            "time": "2024-09-25T02:54:12+00:00"
         },
         {
             "name": "hyperf/redis",
@@ -6422,16 +6422,16 @@
         },
         {
             "name": "phpseclib/phpseclib",
-            "version": "3.0.43",
+            "version": "3.0.42",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpseclib/phpseclib.git",
-                "reference": "709ec107af3cb2f385b9617be72af8cf62441d02"
+                "reference": "db92f1b1987b12b13f248fe76c3a52cadb67bb98"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/709ec107af3cb2f385b9617be72af8cf62441d02",
-                "reference": "709ec107af3cb2f385b9617be72af8cf62441d02",
+                "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/db92f1b1987b12b13f248fe76c3a52cadb67bb98",
+                "reference": "db92f1b1987b12b13f248fe76c3a52cadb67bb98",
                 "shasum": ""
             },
             "require": {
@@ -6512,7 +6512,7 @@
             ],
             "support": {
                 "issues": "https://github.com/phpseclib/phpseclib/issues",
-                "source": "https://github.com/phpseclib/phpseclib/tree/3.0.43"
+                "source": "https://github.com/phpseclib/phpseclib/tree/3.0.42"
             },
             "funding": [
                 {
@@ -6528,7 +6528,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-12-14T21:12:59+00:00"
+            "time": "2024-09-16T03:06:04+00:00"
         },
         {
             "name": "psr/cache",
@@ -9797,7 +9797,7 @@
                 "ext-mbstring": "*",
                 "ext-xml": "*",
                 "ext-xmlwriter": "*",
-                "myclabs/deep-copy": "^1.12.1",
+                "myclabs/deep-copy": "^1.12.0",
                 "phar-io/manifest": "^2.0.4",
                 "phar-io/version": "^3.2.1",
                 "php": ">=8.1",

+ 9 - 9
config/api/login.php

@@ -1,9 +1,9 @@
-<?php
-
-declare (strict_types = 1);
-use Hyperf\HttpServer\Router\Router;
-Router::post('/api/login', 'App\Controller\LoginController@login');
-Router::post('/api/checkVerifyCode', 'App\Controller\LoginController@checkVerifyCode');
-
-Router::post('/api/registerOrLogin', 'App\Controller\LoginController@registerOrLogin');
-Router::post('/api/getToken', 'App\Controller\LoginController@getToken');
+<?php
+
+declare (strict_types = 1);
+use Hyperf\HttpServer\Router\Router;
+Router::post('/api/login', 'App\Controller\LoginController@login');
+Router::post('/api/checkVerifyCode', 'App\Controller\LoginController@checkVerifyCode');
+
+Router::post('/api/registerOrLogin', 'App\Controller\LoginController@registerOrLogin');
+Router::post('/api/getToken', 'App\Controller\LoginController@getToken');

+ 5 - 5
config/autoload/services.php

@@ -56,16 +56,16 @@ return [
             ],
             'options' => [
                 'connect_timeout' => 50.0, // 连接超时时间,单位为秒
-                'read_timeout' => 100.0,   // 读取超时时间,单位为秒
-                'write_timeout' => 100.0,  // 写入超时时间,单位为秒
+                'read_timeout' => 100.0, // 读取超时时间,单位为秒
+                'write_timeout' => 100.0, // 写入超时时间,单位为秒
             ],
             'pool' => [
                 'min_connections' => 1,
                 'max_connections' => 30,
                 'connect_timeout' => 100.0, // 连接池连接超时时间,单位为秒
-                'wait_timeout' => 30.0,     // 等待连接池可用连接的超时时间,单位为秒
-                'heartbeat' => -1,         // 心跳检测间隔,-1 表示禁用心跳检测
-                'max_idle_time' => 60.0,   // 连接的最大空闲时间,单位为秒
+                'wait_timeout' => 30.0, // 等待连接池可用连接的超时时间,单位为秒
+                'heartbeat' => -1, // 心跳检测间隔,-1 表示禁用心跳检测
+                'max_idle_time' => 60.0, // 连接的最大空闲时间,单位为秒
             ],
         ],
         [