123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?php
- 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 = $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;
- }
- }
- }
|