Files
im-demo-server/app/Services/GatewayWorker/ImService.php
2025-06-26 11:02:57 +08:00

54 lines
1.4 KiB
PHP

<?php
namespace App\Services\GatewayWorker;
use App\Enum\MessageTypeEnum;
use App\Services\Base\BaseService;
use GatewayClient\Gateway;
class ImService extends BaseService
{
public function __construct()
{
parent::__construct();
$this->gatewayClient = GatewayClientService::getInstance()->init();
}
public function bindClientIdByUserId($clientId)
{
if (empty($clientId)) {
throw new \Exception('clientId不能为空');
}
GatewayClientService::getInstance()->init()->bindUser($clientId, $this->userId);
return ['绑定成功'];
}
public function sendMessage($data, $type = MessageTypeEnum::Text->value)
{
// $uids = [1,2,3];
// $uidsC = [];
// foreach ($uids as $v) {
// $uidsC[$v] = Gateway::getClientIdByUid($v);
// }
// ds($uidsC);
$data['message_type'] = MessageTypeEnum::from($type)->description();
$this->gatewayClient->sendToUser(
$this->userId === 1? 2: 1,
$this->userId,
$data['avatarColor'],
$this->userInfo['nick_name'],
'单聊'. $data['content'],
);
// $this->gatewayClient->broadcastMessage(
// $this->userId,
// $data['avatarColor'],
// $this->userInfo['nick_name'],
// '群发'. $data['content'],
// );
return ['发送成功'];
}
}