优化后台实时对局页面

This commit is contained in:
2026-04-24 15:03:41 +08:00
parent fd324f2882
commit 2ce128e63a
6 changed files with 209 additions and 22 deletions

View File

@@ -3,6 +3,7 @@
namespace app\admin\controller\game;
use app\common\controller\Backend;
use app\common\library\admin\WebSocketConfigHelper;
use app\common\service\GameLiveService;
use app\common\service\GameRecordService;
use support\Response;
@@ -38,6 +39,41 @@ class Live extends Backend
return $this->success('', GameLiveService::buildSnapshot($recordId));
}
/**
* 后台实时对局 WebSocket 配置(管理员联调专用)。
*/
public function wsConfig(WebmanRequest $request): Response
{
$response = $this->initializeBackend($request);
if ($response !== null) {
return $response;
}
$topics = [
'admin.live.snapshot',
'admin.live.opened',
'period.tick',
'period.locked',
'period.opened',
'period.payout',
'bet.accepted',
'wallet.changed',
'auto.spin.progress',
];
return $this->success('', [
'name' => 'ws.admin.live',
'ws_url' => WebSocketConfigHelper::wsUrl(),
'connect_tip' => '后台实时对局页将自动订阅管理员全量主题(含本局下注、候选号、开奖与派彩信息)。',
'subscribe_topics' => $topics,
'sample_messages' => [
'{"action":"ping"}',
'{"action":"subscribe","topics":["admin.live.snapshot","admin.live.opened"]}',
'{"action":"subscribe","topics":["period.tick","period.opened","wallet.changed"]}',
],
]);
}
public function calculate(WebmanRequest $request): Response
{
$response = $this->initializeBackend($request);