| 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);
|
|
|
}
|
|
|
}
|