kuaifan 5 anni fa
parent
commit
4ce77cf58b
3 ha cambiato i file con 12 aggiunte e 18 eliminazioni
  1. 1 1
      app/Module/Chat.php
  2. 9 17
      app/Services/WebSocketService.php
  3. 2 0
      app/Tasks/NotificationTask.php

+ 1 - 1
app/Module/Chat.php

@@ -173,7 +173,7 @@ class Chat
         if (!is_array($array)) {
             $array = [];
         }
-        //messageType来自客户端(前端->后端):refresh/unread/read/roger/user/info/team/docs/appActivity/appDeactive
+        //messageType来自客户端(前端->后端):refresh/unread/read/roger/user/info/team/docs/appActivity
         //messageType来自服务端(后端->前端):error/open/kick/user/back/unread/docs
         if (!isset($array['messageType'])) $array['messageType'] = '';  //消息类型
         if (!isset($array['messageId'])) $array['messageId'] = '';      //消息ID(用于back给客户端)

+ 9 - 17
app/Services/WebSocketService.php

@@ -6,7 +6,6 @@ namespace App\Services;
 
 use App\Module\Base;
 use App\Module\Chat;
-use App\Module\Project;
 use App\Module\Users;
 use App\Tasks\ChromeExtendTask;
 use App\Tasks\NotificationTask;
@@ -100,7 +99,7 @@ class WebSocketService implements WebSocketHandlerInterface
             }
         }
         //保存用户、发送open事件
-        Cache::forever("ws::appActivity-" . $username, "yes");
+        Cache::forever("ws::immediatelyNotify-" . $username, "no");
         $this->saveUser($fd, $channel, $username);
         $server->push($fd, Chat::formatMsgSend([
             'messageType' => 'open',
@@ -156,6 +155,13 @@ class WebSocketService implements WebSocketHandlerInterface
         //
         switch ($data['messageType']) {
             /**
+             * APP激活进入前台
+             */
+            case 'appActivity':
+                Cache::forever("ws::immediatelyNotify-" . $data['username'], "no");
+                break;
+
+            /**
              * 刷新
              */
             case 'refresh':
@@ -166,20 +172,6 @@ class WebSocketService implements WebSocketHandlerInterface
                 break;
 
             /**
-             * APP进入前台
-             */
-            case 'appActivity':
-                Cache::forever("ws::appActivity-" . $data['username'], "yes");
-                break;
-
-            /**
-             * APP进入后台
-             */
-            case 'appDeactive':
-                Cache::forever("ws::appActivity-" . $data['username'], "no");
-                break;
-
-            /**
              * 总未读消息数
              */
             case 'unread':
@@ -274,7 +266,7 @@ class WebSocketService implements WebSocketHandlerInterface
                     Task::deliver($pushTask);
                     //
                     $notificationTask = new NotificationTask($resData['id']);
-                    $notificationTask->delay(Cache::get("ws::appActivity-" . $data['target']) == "no" ? 2 : 8);
+                    $notificationTask->delay(Cache::get("ws::immediatelyNotify-" . $data['target']) == "yes" ? 2 : 10);
                     Task::deliver($notificationTask);
                 }
                 break;

+ 2 - 0
app/Tasks/NotificationTask.php

@@ -7,6 +7,7 @@ use App\Module\Base;
 use App\Module\Chat;
 use App\Module\Umeng;
 use App\Module\Users;
+use Cache;
 use DB;
 use Hhxsv5\LaravelS\Swoole\Task\Task;
 
@@ -42,6 +43,7 @@ class NotificationTask extends Task
                 'contentId' => $this->contentId,
                 'username' => $username,
             ]);
+            Cache::forever("ws::immediatelyNotify-" . $username, "yes");
         }
     }
 }