wesmiler 2 år sedan
förälder
incheckning
00adc915d7

+ 7 - 1
app/Http/Controllers/Api/v1/ApiController.php

@@ -32,10 +32,16 @@ class ApiController extends webApp
         $tokenData = MemberService::make()->getChatToken($token, 2);
         $userId = isset($tokenData['user_id'])? $tokenData['user_id'] : 0;
         $userType = isset($tokenData['user_type']) && $tokenData['user_type']? $tokenData['user_type'] : 1;
+        $authTime = isset($tokenData['auth_time']) && $tokenData['auth_time']? $tokenData['auth_time'] : 0;
+        if($authTime && $authTime < date('YmdHis', time() - 30)){
+            return showJson(1067,false);
+        }
+
         $cacheKey = "caches:members:chat_{$userId}_{$userType}";
         $info = RedisService::get($cacheKey);
         if($info){
-            return $info;
+            $info['cache'] = true;
+            return showJson(1010,true, $info);
         }
 
         if($userType == 1){

+ 3 - 2
app/Services/Api/MemberService.php

@@ -134,14 +134,14 @@ class MemberService extends BaseService
                 }
 
                 $info['app_version'] = ConfigService::make()->getConfigByCode('app_version');
-                $info['chat_token'] = MemberService::make()->getChatToken($info['id'].'@1@'.date('His'), 1);
+                $info['chat_token'] = MemberService::make()->getChatToken($info['id'].'@1@'.date('YmdHis'), 1);
             }
 
             else if ($type == 'info') {
                 $liveOpenLevel = ConfigService::make()->getConfigByCode('live_open_level',0);
                 $liveOpenLevel = $liveOpenLevel>0? $liveOpenLevel : 0;
                 $info['live_open'] = $info['member_level']>=$liveOpenLevel? 1 : 0;
-                $info['chat_token'] = MemberService::make()->getChatToken($info['id'].'@1@'.date('His'), 1);
+                $info['chat_token'] = MemberService::make()->getChatToken($info['id'].'@1@'.date('YmdHis'), 1);
             }else if($type == 'buy'){
                 $address = MemberAddressService::make()->getBindInfo($userId);
                 $info['address'] = $address;
@@ -241,6 +241,7 @@ class MemberService extends BaseService
             return [
                 'user_id'=> isset($data[0])? $data[0] : 0,
                 'user_type'=> isset($data[1]) && $data[1]? $data[1] : 1,
+                'auth_time'=> isset($data[2]) && $data[2]? $data[2] : 0,
             ];
         }
     }

+ 1 - 0
resources/lang/zh-cn/api.php

@@ -66,6 +66,7 @@ return [
     '1064' => '请选择邮箱验证或手机号验证',
     '1065' => '登录密码不为空',
     '1066' => '未授权',
+    '1067' => '授权失效',
 
     // 登录注册
     '2001'=> '账号非法或未注册',