think-swoole 版本3.x tp默认socket.io.js 格式
app目录下
主要代码 Manager.php
public function __construct(Server $server, Room $room, Event $event, Ping $ping, Config $config)
{
parent::__construct($server, $room, $event);
$this->pingService = $ping;
$this->cache_timeout = (int)($config->get('swoole.websocket.ping_timeout', 60000) / 1000) + 2;
app()->bind('websocket_handler_admin', AdminHandler::class);
app()->bind('websocket_handler_user', UserHandler::class);
app()->bind('websocket_handler_mer', MerchantHandler::class);
app()->bind('websocket_handler_ser', ServiceHandler::class);
}
onMessage方法 监听时, 会根据USER_TYPE类型 调用绑定的Handler类,例如user
请求连接 wss://xxx.xxxx.com/?type=user&token=xxxxxxxxxx
在UserHandler内添加方法record
请求数据
{"type": "record","data": {"oe": "33150TETH01","sku":[]}}
在record方法内
$data = $result['data']; //前端请求数据
$frame = $result['frame']; //包含信息
要给商户端平台发消息
SwooleTaskService::merchant('notice', [
'type' => 'enquiry_notice', //对应前端路径notice.js
'data' => [
'title' => '询价消息',
'message' => '您有一个新的询价单',
'id' => 1
]
], $mer_id);
最后返回消息
return app('json')->success('询价已通知');
如果要自定义消息
return app('json')->message('callback', $data);