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

52 lines
1.2 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');
try {
2025-06-26 10:05:04 +08:00
return jok($this->service->sendMessage($data, $messageType));
2025-06-26 09:56:14 +08:00
} catch (\Exception $e) {
2025-06-26 10:05:33 +08:00
ds([
'message' => $e->getMessage(),
'file' => $e->getFile(),
'line' => $e->getLine(),
'trace' => $e->getTrace(),
]);
2025-06-26 09:56:14 +08:00
return jerr($e->getMessage());
}
}
2025-06-25 16:12:51 +08:00
}