60 lines
2.2 KiB
PHP
60 lines
2.2 KiB
PHP
<?php
|
||
|
||
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\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 为本文件自动加前缀 `api`,此处再写 `v1`,故完整路径形如 `/api/v1/health`。
|
||
*/
|
||
|
||
Route::prefix('v1')->group(function (): void {
|
||
// 名称:服务健康检查
|
||
Route::get('health', HealthController::class)->name('api.v1.health');
|
||
|
||
Route::prefix('player')
|
||
->name('api.v1.player.')
|
||
->group(function (): void {
|
||
// 名称:玩家端连通性探测
|
||
Route::get('ping', PlayerPingController::class)->name('ping');
|
||
});
|
||
|
||
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');
|
||
});
|
||
});
|
||
|
||
Route::prefix('admin')
|
||
->name('api.v1.admin.')
|
||
->group(function (): void {
|
||
Route::middleware('throttle:admin-auth-captcha')
|
||
->get('auth/captcha', CaptchaController::class)
|
||
->name('auth.captcha');
|
||
|
||
Route::middleware('throttle:admin-auth-login')
|
||
->post('auth/login', LoginController::class)
|
||
->name('auth.login');
|
||
|
||
Route::middleware(['auth:sanctum', 'lottery.admin'])->group(function (): void {
|
||
// 名称:后台接口连通性探测(需 Bearer Token)
|
||
Route::get('ping', AdminPingController::class)->name('ping');
|
||
});
|
||
});
|
||
});
|