feat: 添加 Laravel Reverb 支持,更新 .env.example 文件以配置 WebSocket,增强彩票调度功能,更新 API 路由以支持期号管理与结果发布

This commit is contained in:
2026-05-09 17:40:49 +08:00
parent 781cf10928
commit aeaf124096
42 changed files with 3886 additions and 5 deletions

View File

@@ -2,10 +2,17 @@
use App\Http\Controllers\Api\V1\Admin\Auth\CaptchaController;
use App\Http\Controllers\Api\V1\Admin\Auth\LoginController;
use App\Http\Controllers\Api\V1\Admin\Draw\AdminDrawIndexController;
use App\Http\Controllers\Api\V1\Admin\Draw\AdminDrawResultBatchesIndexController;
use App\Http\Controllers\Api\V1\Admin\Draw\AdminDrawShowController;
use App\Http\Controllers\Api\V1\Admin\Draw\DrawResultBatchPublishController;
use App\Http\Controllers\Api\V1\Admin\PingController as AdminPingController;
use App\Http\Controllers\Api\V1\Admin\Player\PlayerWalletShowController;
use App\Http\Controllers\Api\V1\Admin\Wallet\TransferOrderListController;
use App\Http\Controllers\Api\V1\Admin\Wallet\WalletTransactionListController;
use App\Http\Controllers\Api\V1\Draw\DrawCurrentController;
use App\Http\Controllers\Api\V1\Draw\DrawResultShowController;
use App\Http\Controllers\Api\V1\Draw\DrawResultsIndexController;
use App\Http\Controllers\Api\V1\HealthController;
use App\Http\Controllers\Api\V1\Player\MeController;
use App\Http\Controllers\Api\V1\Player\PingController as PlayerPingController;
@@ -23,6 +30,14 @@ Route::prefix('v1')->group(function (): void {
// 名称:服务健康检查
Route::get('health', HealthController::class)->name('api.v1.health');
// 名称:当前期号(下注大厅倒计时;无需登录)
Route::get('draw/current', DrawCurrentController::class)->name('api.v1.draw.current');
// 名称:已发布开奖往期 / 单期(公开)
Route::get('draw/results', DrawResultsIndexController::class)->name('api.v1.draw.results');
Route::get('draw/results/{draw_no}', DrawResultShowController::class)
->where('draw_no', '[0-9]{8}-[0-9]{3}')
->name('api.v1.draw.results.show');
Route::prefix('player')
->name('api.v1.player.')
->group(function (): void {
@@ -73,6 +88,16 @@ Route::prefix('v1')->group(function (): void {
->name('wallet.transactions');
Route::get('players/{player}/wallets', PlayerWalletShowController::class)
->name('players.wallets');
// 期号:列表 / 详情 / 批次(开奖结果与审核数据)
Route::get('draws', AdminDrawIndexController::class)->name('draws.index');
Route::get('draws/{draw}', AdminDrawShowController::class)->name('draws.show');
Route::get('draws/{draw}/result-batches', AdminDrawResultBatchesIndexController::class)
->name('draws.result-batches.index');
// 名称:发布待审核开奖批次(人工审核)
Route::post(
'draws/{draw}/result-batches/{batch}/publish',
DrawResultBatchPublishController::class,
)->name('draws.result-batches.publish');
});
});
});

7
routes/channels.php Normal file
View File

@@ -0,0 +1,7 @@
<?php
use Illuminate\Support\Facades\Broadcast;
Broadcast::channel('App.Models.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});