64 lines
2.5 KiB
PHP
64 lines
2.5 KiB
PHP
<?php
|
||
|
||
/**
|
||
* 彩票业务配置(多语言、主站 SSO、玩家鉴权等)。
|
||
*
|
||
* 【locales】API 返回 msg 时使用的语言集合,与库表多语言列命名一致(zh / en / ne)。
|
||
* - supported:合法语言列表;NegotiateLotteryLocale 只会在其中选择。
|
||
* - fallback:无匹配头或缺翻译键时的兜底语言(通常用 en)。
|
||
*/
|
||
|
||
return [
|
||
|
||
'locales' => [
|
||
'supported' => ['zh', 'en', 'ne'],
|
||
'fallback' => 'en',
|
||
],
|
||
|
||
'default_currency' => env('LOTTERY_DEFAULT_CURRENCY', 'NPR'),
|
||
|
||
/*
|
||
| lottery_settings 表读缓存 TTL(秒)。调小可更快看到后台改值,调大减 DB 压力。
|
||
*/
|
||
'settings' => [
|
||
'cache_ttl_seconds' => (int) env('LOTTERY_SETTINGS_CACHE_TTL', 60),
|
||
],
|
||
|
||
'main_site' => [
|
||
'base_url' => env('MAIN_SITE_BASE_URL'),
|
||
'sso_jwt_secret' => env('MAIN_SITE_SSO_JWT_SECRET'),
|
||
'wallet_api_url' => env('MAIN_SITE_WALLET_API_URL'),
|
||
'wallet_api_key' => env('MAIN_SITE_WALLET_API_KEY'),
|
||
'wallet_timeout' => (int) env('MAIN_SITE_WALLET_TIMEOUT', 10),
|
||
/** 主站钱包 HTTP 相对路径(拼接在 wallet_api_url 后);Stub 模式下忽略 */
|
||
'wallet_debit_path' => env('MAIN_SITE_WALLET_DEBIT_PATH', '/wallet/debit-for-lottery'),
|
||
'wallet_credit_path' => env('MAIN_SITE_WALLET_CREDIT_PATH', '/wallet/credit-from-lottery'),
|
||
],
|
||
|
||
/*
|
||
| player_auth:配合 app/Services/PlayerTokenResolver.php
|
||
|
|
||
| dev_bypass:仅当 APP_ENV∈{local, testing} 且 LOTTERY_PLAYER_AUTH_DEV_BYPASS=true 时,
|
||
| 允许 Authorization: Bearer dev:{players.id}(否则 dev: 会被当成 JWT 解析并报 8002)
|
||
| jwt.* :主站签发的 JWT 内取站点、玩家字段的路径名(与主站约定一致);验签通过后若无映射行则自动建档
|
||
*/
|
||
'player_auth' => [
|
||
'dev_bypass' => env('LOTTERY_PLAYER_AUTH_DEV_BYPASS', false),
|
||
'jwt' => [
|
||
'algorithm' => env('LOTTERY_JWT_ALGORITHM', 'HS256'),
|
||
'claim_site_code' => env('LOTTERY_JWT_CLAIM_SITE_CODE', 'site_code'),
|
||
'claim_site_player_id' => env('LOTTERY_JWT_CLAIM_SITE_PLAYER_ID', 'site_player_id'),
|
||
],
|
||
],
|
||
|
||
/*
|
||
| admin_api:Sanctum Personal Access Token(auth:sanctum + lottery.admin)
|
||
|
|
||
| token_ttl_days:签发时刻起有效日历天数,到期后 Laravel 拒绝该 token,需重新登录。
|
||
*/
|
||
'admin_api' => [
|
||
'token_ttl_days' => max(1, (int) env('ADMIN_API_TOKEN_TTL_DAYS', 7)),
|
||
],
|
||
|
||
];
|