xiaogang пре 3 година
родитељ
комит
e10a7325d8
2 измењених фајлова са 147 додато и 17 уклоњено
  1. 122 3
      app/Http/Controllers/Api/TencentController.php
  2. 25 14
      app/Http/Controllers/Api/TestController.php

+ 122 - 3
app/Http/Controllers/Api/TencentController.php

xqd
@@ -4,15 +4,134 @@
 namespace App\Http\Controllers\Api;
 
 
+use App\Models\User;
 use Illuminate\Http\Request;
 use function Symfony\Component\Translation\t;
 
 class TencentController extends Controller
 {
+
     public function notify(Request $request){
-        $data = \Symfony\Component\HttpFoundation\Request::createFromGlobals()->getContent();
+        $data = $request->post() ?? '';
+
+        if(empty($data)) return;
+
+        if($data['SdkAppid'] == env('TENCENT_IM_APP_ID'))
+
+            file_put_contents('logs/tencent.log',var_export($data,true).PHP_EOL,FILE_APPEND);
+
+        switch ($data['CallbackCommand']){
+            /**
+             * 在线状态
+             */
+            case "State.StateChange":
+                //状态变更回调
+                if($data['Action']=='Login'){
+                    $online = 1;
+                }else{
+                    $online = 0;
+                }
+                //修改用户状态
+                User::query()->where(['tencent_im_user_id'=>$data['To_Account'],'status'=>1])->update(['online'=>$online]);
+                break;
+            /**
+             * 资料关系链
+             */
+            case "Sns.CallbackPrevFriendAdd":
+                //添加好友之前回调
+
+                break;
+            case "Sns.CallbackPrevFriendResponse":
+                //添加好友回应之前回调
+
+                break;
+            case "Sns.CallbackFriendAdd":
+                //添加好友之后回调
+
+                break;
+            case "Sns.CallbackFriendDelete":
+                //删除好友之后回调
+
+                break;
+            case "Sns.CallbackBlackListAdd":
+                //添加黑名单之后回调
+
+                break;
+            case "Sns.CallbackBlackListDelete":
+                //删除黑名单之后回调
+
+                break;
+
+            /**
+             * 单聊消息
+             */
+            case "C2C.CallbackBeforeSendMsg":
+                //发单聊消息之前回调
+
+                break;
+            case "C2C.CallbackAfterSendMsg":
+                //发单聊消息之后回调
+
+                break;
+            case "C2C.CallbackAfterMsgReport":
+                //单聊消息已读上报后回调
+
+                break;
+            case "C2C.CallbackAfterMsgWithDraw":
+                //单聊消息撤回后回调
+
+                break;
+
+            /**
+             * 群组系统
+             */
+            case "Group.CallbackBeforeCreateGroup":
+                //创建群组之前回调
+
+                break;
+            case "Group.CallbackAfterCreateGroup":
+                //创建群组之后回调
+
+                break;
+            case "Group.CallbackBeforeApplyJoinGroup":
+                //申请入群之前回调
+
+                break;
+            case "Group.CallbackBeforeInviteJoinGroup":
+                //拉人入群之前回调
+
+                break;
+            case "Group.CallbackAfterNewMemberJoin":
+                //新成员入群之后回调
+
+                break;
+            case "Group.CallbackAfterMemberExit":
+                //群成员离开之后回调
+
+                break;
+            case "Group.CallbackBeforeSendMsg":
+                //群内发言之前回调
+
+                break;
+            case "Group.CallbackAfterSendMsg":
+                //群内发言之后回调
+
+                break;
+            case "Group.CallbackAfterGroupFull":
+                //群组满员之后回调
+
+                break;
+            case "Group.CallbackAfterGroupDestroyed":
+                //群组解散之后回调
+
+                break;
+            case "Group.CallbackAfterGroupInfoChanged":
+                //群组资料修改之后回调
+
+                break;
+
+        }
+
 
-        file_put_contents('logs/tencent.log',var_export($data,true).PHP_EOL,FILE_APPEND);
-        file_put_contents('logs/tencent.log',var_export($request->all(),true).PHP_EOL,FILE_APPEND);
     }
 }

+ 25 - 14
app/Http/Controllers/Api/TestController.php

xqd xqd xqd
@@ -90,7 +90,7 @@ class TestController
     }
 
     public function test_push(){
-        $users = User::query()->get()->toArray();
+        $users = User::query()->where(['is_distory'=>0])->get()->toArray();
         $TencentImAccountService = new TencentImAccountService();
         foreach ($users as $k=>$v){
             if(str_contains($v['tencent_im_user_id'], 'SSS_SFS')){
@@ -136,7 +136,18 @@ class TestController
 //        return response()->json(['data'=>$res]);
     }
 
+
+
+
+
     public function jg_auth(){
+        $user_info = UserInfoModel::query()->select(['user_id'])->get()->toArray();
+        $user_info_user_id = array_column($user_info,'user_id');
+        $user = User::query()->whereNotIn('id',$user_info_user_id)->delete();
+        dd(1111);
+
+
+
 
 //       $tencent = new TencentImAccountService();
 //       $arr = array();
@@ -148,19 +159,19 @@ class TestController
 //        $res = $tencent->accountDelete($arr);
 //        dd($res);
 
-        $tencent = new TencentImFriendService();
-        $res = $tencent->friendCheck('IM_USER_TEST_2_75',['IM_USER_TEST_2_80']);
-        dd($res);
-
-        dd(GetDistance(30.720518,103.998353,30.721384,103.996072));
-
-        die;
-        $token="asdasd";
-        $exId="111111";
-         $ret = JPushService::jgLoginTokenVerify($token,$exId);
-         dd($ret);
-
-         $res = JPushService::jgOpensslPrivateDecrypt($ret['phone']);
+//        $tencent = new TencentImFriendService();
+//        $res = $tencent->friendCheck('IM_USER_TEST_2_75',['IM_USER_TEST_2_80']);
+//        dd($res);
+//
+//        dd(GetDistance(30.720518,103.998353,30.721384,103.996072));
+//
+//        die;
+//        $token="asdasd";
+//        $exId="111111";
+//         $ret = JPushService::jgLoginTokenVerify($token,$exId);
+//         dd($ret);
+//
+//         $res = JPushService::jgOpensslPrivateDecrypt($ret['phone']);
     }