Files
im-demo-server/app/Http/Controllers/ImController.php

62 lines
1.5 KiB
PHP
Raw Normal View History

2025-06-25 16:12:51 +08:00
<?php
namespace App\Http\Controllers;
use App\Services\GatewayWorker\ImService;
use App\Services\GatewayWorker\UserService;
2025-06-26 09:56:14 +08:00
use Illuminate\Http\JsonResponse;
2025-06-25 16:12:51 +08:00
use Illuminate\Http\Request;
class ImController extends Controller
{
//
private $service;
public function __construct()
{
$this->service = ImService::getInstance();
}
public function bind()
{
$clientId = request()->input('client_id');
try {
return jok($this->service->bindClientIdByUserId($clientId));
} catch (\Exception $e) {
return jerr($e->getMessage());
}
}
2025-06-26 09:56:14 +08:00
/**
* 发送消息
* @Method POST
* @return JsonResponse
*/
public function sendMessage()
{
$messageType = request()->post('message_type');
$data = request()->post('data');
2025-06-26 15:41:29 +08:00
$toUserId = request()->post('to_user_id');
$chatRoomId = request()->post('chat_room_id');
$replayId = request()->post('replay_id', 0);
try {
return jok($this->service->sendMessage($data, $toUserId, $chatRoomId, $replayId, $messageType));
} catch (\Exception $e) {
return jerr($e->getMessage());
}
}
public function getMessageByChatRoomId()
{
$chatRoomId = request()->input('chat_room_id');
2025-06-26 09:56:14 +08:00
try {
2025-06-26 15:41:29 +08:00
return jok(
$this->service->getMessageByChatRoomId($chatRoomId)
);
2025-06-26 09:56:14 +08:00
} catch (\Exception $e) {
return jerr($e->getMessage());
}
}
2025-06-25 16:12:51 +08:00
}