feat: 添加 JWT 支持与开发环境配置,更新 API 路由与中间件

This commit is contained in:
2026-05-08 14:41:01 +08:00
parent bbf58cb076
commit 9f8080cefe
18 changed files with 383 additions and 14 deletions

View File

@@ -2,25 +2,34 @@
use App\Http\Controllers\Api\V1\Admin\PingController as AdminPingController;
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;
use Illuminate\Support\Facades\Route;
/*
| 全局前缀已由 bootstrap 注册 /api本文件内为相对路径。
| 玩家端:/api/v1/player/...
| 后台: /api/v1/admin/...
| Laravel 默认在 bootstrap api 文件加前缀 `api`,故实际 URL
| /api/v1/health
| /api/v1/player/...
| /api/v1/admin/...
*/
Route::prefix('v1')->group(function (): void {
// 探活:无鉴权
Route::get('health', HealthController::class)->name('api.v1.health');
Route::middleware('lottery.player')
->prefix('player')
Route::prefix('player')
->name('api.v1.player.')
->group(function (): void {
// 不需 Bearer
Route::get('ping', PlayerPingController::class)->name('ping');
// 需 BearerPlayerTokenResolver + EnsurePlayerApi
Route::middleware('lottery.player')->group(function (): void {
Route::get('me', MeController::class)->name('me');
});
});
// 后台 API 前缀;中间件 lottery.admin 内预留 Sanctum / RBAC
Route::middleware('lottery.admin')
->prefix('admin')
->name('api.v1.admin.')