feat: 更新开发环境配置,支持在 local 和 testing 环境下的玩家身份绕过,新增钱包余额 API 路由

This commit is contained in:
2026-05-08 16:02:46 +08:00
parent fc0999664a
commit 8954325194
8 changed files with 178 additions and 11 deletions

View File

@@ -4,12 +4,14 @@ 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 App\Http\Controllers\Api\V1\Wallet\WalletBalanceController;
use Illuminate\Support\Facades\Route;
/*
| Laravel 默认 bootstrap 中为 api 文件加前缀 `api`,故实际 URL
| Laravel bootstrap 中为本文件自动加前缀 `api` + 中间件组 `api`,故实际 URL
| /api/v1/health
| /api/v1/player/...
| /api/v1/wallet/...
| /api/v1/admin/...
*/
@@ -17,19 +19,32 @@ Route::prefix('v1')->group(function (): void {
// 探活:无鉴权
Route::get('health', HealthController::class)->name('api.v1.health');
// 玩家前缀下:仅 ping 公开me 与 wallet/* 共用 lottery.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
/*
| 已登录玩家PRD 把路径拆成 `/v1/player/*` `/v1/wallet/*`,这里用同一中间件块避免重复写。
| 勿把 wallet 挂到 player 前缀下,否则会变成 /api/v1/player/wallet/...,与 PRD §10.1.1 不一致。
*/
Route::middleware('lottery.player')->group(function (): void {
Route::prefix('player')
->name('api.v1.player.')
->group(function (): void {
Route::get('me', MeController::class)->name('me');
});
Route::prefix('wallet')
->name('api.v1.wallet.')
->group(function (): void {
Route::get('balance', WalletBalanceController::class)->name('balance');
});
});
// 后台 APIlottery.admin 内预留 Sanctum / RBAC
Route::middleware('lottery.admin')
->prefix('admin')
->name('api.v1.admin.')