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

34
app/Models/Player.php Normal file
View File

@@ -0,0 +1,34 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
/**
* 主站玩家在本地映射账号(表 players SSO JWT site_code + site_player_id 对应。
*/
class Player extends Model
{
protected $fillable = [
'site_code',
'site_player_id',
'username',
'nickname',
'default_currency',
'status',
'last_login_at',
];
protected function casts(): array
{
return [
'last_login_at' => 'datetime',
];
}
public function wallets(): HasMany
{
return $this->hasMany(PlayerWallet::class);
}
}

View File

@@ -0,0 +1,36 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* 彩票侧余额(表 player_wallets player + wallet_type + currency 唯一。
*/
class PlayerWallet extends Model
{
protected $fillable = [
'player_id',
'wallet_type',
'currency_code',
'balance',
'frozen_balance',
'status',
'version',
];
protected function casts(): array
{
return [
'balance' => 'integer',
'frozen_balance' => 'integer',
'version' => 'integer',
];
}
public function player(): BelongsTo
{
return $this->belongsTo(Player::class);
}
}