chore: 更新 .env.example 文件,简化配置项并添加 CORS 相关设置

- 移除不再使用的配置项,建议通过后台管理进行设置。
- 新增 CORS_ALLOWED_ORIGINS、CORS_SUPPORTS_CREDENTIALS 和 CORS_MAX_AGE 选项,以支持跨域请求的灵活性与安全性。
This commit is contained in:
2026-05-29 10:28:30 +08:00
parent 0323d92381
commit ea0072197d

View File

@@ -1,252 +1,62 @@
# ============================================================================= # cp .env.example .env && composer install && php artisan key:generate && php artisan migrate
# 应用核心config/app.php # 生产常驻queue:work、schedule:work、reverb:start见 README
# =============================================================================
# 应用显示名(邮件发件人名、日志等会引用)
APP_NAME=Lottery APP_NAME=Lottery
# 运行环境local / staging / production影响缓存、调试与安全策略
APP_ENV=local APP_ENV=local
# 应用密钥;留空时执行 php artisan key:generate 生成(勿提交真实值到 Git
APP_KEY= APP_KEY=
# 是否输出详细错误页与堆栈(生产环境务必为 false
APP_DEBUG=true APP_DEBUG=true
# 应用根 URL生成链接、邮件、部分驱动依赖与 php artisan serve 端口一致时带上 :8000
APP_URL=http://localhost:8000 APP_URL=http://localhost:8000
# 开发服务监听地址:本机开发可保持 127.0.0.1;需要局域网访问时改为 0.0.0.0
APP_BIND_HOST=127.0.0.1 APP_BIND_HOST=127.0.0.1
# Vite 监听地址:本机开发可保持 127.0.0.1;需要局域网访问时改为 0.0.0.0
VITE_HOST=0.0.0.0 VITE_HOST=0.0.0.0
# =============================================================================
# 语言与假数据config/app.php
# =============================================================================
# PHP 应用默认语言代码
APP_LOCALE=en
# 翻译缺失时的回退语言
APP_FALLBACK_LOCALE=en
# Faker 造数用的区域(如 zh_CN、en_US
APP_FAKER_LOCALE=en_US
# =============================================================================
# 维护模式config/app.php
# =============================================================================
# 维护模式驱动file写 storage/framework/down或可使用其他存储
APP_MAINTENANCE_DRIVER=file
# 使用 database 驱动维护状态时的存储配置(与 file 二选一场景下再取消注释)
# APP_MAINTENANCE_STORE=database
# 内置 PHP 开发服务器 worker 数量(多核本机可酌情打开)
# PHP_CLI_SERVER_WORKERS=4
# =============================================================================
# CORS跨域config/cors.php
# =============================================================================
# 浏览器跨域访问 API 的来源白名单,逗号分隔(协议+域名+可选端口)
# 示例:
# CORS_ALLOWED_ORIGINS=https://admin.example.com,https://partner-a.com
CORS_ALLOWED_ORIGINS=
# 可选:来源正则模式(需要受控通配时再用)
# CORS_ALLOWED_ORIGINS_PATTERNS=^https://([a-z0-9-]+)\.partner\.example\.com$
CORS_ALLOWED_ORIGINS_PATTERNS=
# 预检缓存秒数0 表示不缓存
CORS_MAX_AGE=0
# 是否允许跨站 Cookie仅在确实需要浏览器跨站会话时设 true
CORS_SUPPORTS_CREDENTIALS=false
# =============================================================================
# 密码哈希config/hashing.php
# =============================================================================
# bcrypt 迭代轮数;越大越慢越安全,测试环境可略低
BCRYPT_ROUNDS=12
# =============================================================================
# 日志config/logging.php
# =============================================================================
# 默认日志通道名,对应下方 LOG_STACK 中的通道之一
LOG_CHANNEL=stack
# stack 通道所包含的子通道,逗号分隔,如 single、daily
LOG_STACK=single
# 弃用警告单独输出到的通道null 表示忽略
LOG_DEPRECATIONS_CHANNEL=null
# 日志级别debug / info / notice / warning / error / critical / alert / emergency
LOG_LEVEL=debug LOG_LEVEL=debug
# =============================================================================
# 数据库config/database.php
# =============================================================================
# 连接名pgsql / mysql / sqlite 等
DB_CONNECTION=pgsql DB_CONNECTION=pgsql
# 数据库主机
DB_HOST=127.0.0.1 DB_HOST=127.0.0.1
# 数据库端口PostgreSQL 默认 5432
DB_PORT=5432 DB_PORT=5432
# 数据库名
DB_DATABASE=lottery DB_DATABASE=lottery
# 数据库用户名(示例留空,本机按实际填写)
DB_USERNAME= DB_USERNAME=
# 数据库密码(示例留空)
DB_PASSWORD= DB_PASSWORD=
# 完整数据库 URL若设置可覆盖上述分散配置一般留空
# DB_URL=
# =============================================================================
# Sessionconfig/session.php
# =============================================================================
# 会话驱动file / cookie / database / redis 等
SESSION_DRIVER=redis SESSION_DRIVER=redis
# 会话存活时间(分钟)
SESSION_LIFETIME=120
# 是否加密会话数据
SESSION_ENCRYPT=false
# Cookie 路径,一般根路径 /
SESSION_PATH=/
# Cookie 域;单域本地开发常用 null
SESSION_DOMAIN=null SESSION_DOMAIN=null
# =============================================================================
# 广播与文件config/broadcasting.php、config/filesystems.php
# =============================================================================
# 广播驱动null / log / reverb大厅 WebSocket 快照推荐) / pusher 等
# 使用 reverb 时另开终端php artisan reverb:start与 php artisan serve 并行)
# 大厅 draw.countdown 每秒需跑调度php artisan schedule:work或等同勿仅用每分钟 cron
BROADCAST_CONNECTION=reverb BROADCAST_CONNECTION=reverb
# Laravel Reverbconfig/reverb.php玩家端 EchoNEXT_PUBLIC_REVERB_APP_KEY/HOST/PORT/SCHEME与 REVERB_* 对齐)
REVERB_APP_ID= REVERB_APP_ID=
REVERB_APP_KEY= REVERB_APP_KEY=
REVERB_APP_SECRET= REVERB_APP_SECRET=
# Reverb 服务监听地址:本机直连可用 127.0.0.1;需要局域网访问时改为 0.0.0.0
REVERB_SERVER_HOST=0.0.0.0 REVERB_SERVER_HOST=0.0.0.0
REVERB_HOST=localhost REVERB_HOST=localhost
REVERB_PORT=8080 REVERB_PORT=8080
REVERB_SCHEME=http REVERB_SCHEME=http
# 默认文件存储盘local / s3 等
FILESYSTEM_DISK=local
# =============================================================================
# 队列与缓存config/queue.php、config/cache.php
# =============================================================================
# 队列驱动sync同步/ database / redis 等;本地常用 database
QUEUE_CONNECTION=redis QUEUE_CONNECTION=redis
# 缓存存储file / database / redis 等;与 Redis 赔付池等能力对接前可用 database
CACHE_STORE=redis CACHE_STORE=redis
# 号码赔付池是否使用 Redis Lua 原子扣减;本地无 Redis Lua 需求时可 false
LOTTERY_RISK_POOL_USE_REDIS_LUA=false LOTTERY_RISK_POOL_USE_REDIS_LUA=false
# 缓存键全局前缀;多环境共 Redis 时可用于隔离,一般可留空使用框架默认
# CACHE_PREFIX=
# =============================================================================
# Memcachedconfig/cache.php未用可保持默认
# =============================================================================
MEMCACHED_HOST=127.0.0.1
# =============================================================================
# Redisconfig/database.php 中 redis 连接)
# =============================================================================
# Redis 客户端扩展phpredis / predis
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1 REDIS_HOST=127.0.0.1
# Redis 密码;无认证填 null
REDIS_PASSWORD=null REDIS_PASSWORD=null
REDIS_PORT=6379 REDIS_PORT=6379
# 默认 Redis 逻辑库编号(与 session/queue 共用连接时注意规划)
REDIS_DB=0 REDIS_DB=0
# 专用于 cache 连接的逻辑库编号config 中 default 与 cache 两套连接)
REDIS_CACHE_DB=1 REDIS_CACHE_DB=1
# ============================================================================= # 逗号分隔含协议。本地示例http://localhost:3800,http://localhost:3801
# 邮件config/mail.php CORS_ALLOWED_ORIGINS=
# ============================================================================= CORS_SUPPORTS_CREDENTIALS=false
CORS_MAX_AGE=0
# 邮件驱动smtp / log仅写日志
MAIL_MAILER=log
# TLS 方案等smtp+URL 时用;一般用框架默认)
MAIL_SCHEME=null
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
# 默认发件人邮箱
MAIL_FROM_ADDRESS="hello@example.com"
# 默认发件显示名(可引用 APP_NAME
MAIL_FROM_NAME="${APP_NAME}"
# =============================================================================
# AWS S3 等config/filesystems.php未用 S3 可留空)
# =============================================================================
# IAM 访问键 ID仅在使用 S3/队列等 AWS 能力时必填)
AWS_ACCESS_KEY_ID=
# IAM Secret
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
# 兼容 MinIO 等路径风格 Endpoint 时使用 true
AWS_USE_PATH_STYLE_ENDPOINT=false
# =============================================================================
# 前端 Vitevite 构建时注入)
# =============================================================================
# 供前端读取的应用名,通常与 APP_NAME 一致
VITE_APP_NAME="${APP_NAME}"
# =============================================================================
# 彩票业务config/lottery.php、database/seeders密钥仅写本机 .env
# =============================================================================
# 运营项(默认币种、开奖间隔/窗口/封盘提前、预生成期数、金额格式)已迁移后台配置 lottery_settings
# 建议在 /admin/settings 管理;此处不再提供对应 env 键。
# lottery_settings 表读缓存 TTL调小更易立即看到后台改值调大减库压
LOTTERY_SETTINGS_CACHE_TTL=60 LOTTERY_SETTINGS_CACHE_TTL=60
# 开发绕过Authorization: Bearer dev:{players.id};仅当 APP_ENV 为 local 或 testing 且为 true 时生效PHPUnit 依赖 testing生产务必 false
LOTTERY_PLAYER_AUTH_DEV_BYPASS=false LOTTERY_PLAYER_AUTH_DEV_BYPASS=false
# 校验主站 JWT 的算法(与签发方一致)
LOTTERY_JWT_ALGORITHM=HS256
# JWT 内表示站点编码的 claim 名
LOTTERY_JWT_CLAIM_SITE_CODE=site_code
# JWT 内表示主站玩家标识的 claim 名
LOTTERY_JWT_CLAIM_SITE_PLAYER_ID=site_player_id
# JWT 允许的最长有效窗exp-iat 不得超过此值;默认 3005 分钟)
LOTTERY_JWT_MAX_TTL_SECONDS=300
# 是否要求 JWT 含 iat建议 true与短效 Token 策略一致)
LOTTERY_JWT_REQUIRE_IAT=true
# 可选32 字节 AES 密钥再 Base64用于 URL 传递的密文 Token 解包为内层 JWT
# LOTTERY_PLAYER_TOKEN_AES_KEY=
# 管理端登录Sanctum PAT 有效天数(签发时刻起),至少 1到期需重新登录
ADMIN_API_TOKEN_TTL_DAYS=7 ADMIN_API_TOKEN_TTL_DAYS=7
# Legacy 主站兜底配置:正式接入站点以后台 admin_sites 为准;这里仅用于本地默认站/历史回退。 # 主站对接:生产请在后台「接入站点」(admin_sites) 维护;以下为可选 legacy 兜底,本地联调可填,生产可留空
# 主站站点根 URLSSO、跳转等 # MAIN_SITE_BASE_URL=
MAIN_SITE_BASE_URL= # MAIN_SITE_SSO_JWT_SECRET=
# 主站 JWT 验签密钥(与主站约定,勿泄露) # MAIN_SITE_WALLET_API_URL=
MAIN_SITE_SSO_JWT_SECRET= # MAIN_SITE_WALLET_API_KEY=
# 主站钱包接口基地址 # MAIN_SITE_WALLET_TIMEOUT=10
MAIN_SITE_WALLET_API_URL=
# 主站钱包接口访问密钥
MAIN_SITE_WALLET_API_KEY=
# 主站钱包 HTTP 超时(秒)
MAIN_SITE_WALLET_TIMEOUT=10
# db:seed 演示玩家钱包:可用余额(最小货币单位,整数)
DEV_SEED_WALLET_BALANCE_MINOR=125000 DEV_SEED_WALLET_BALANCE_MINOR=125000
# db:seed 演示玩家钱包:冻结余额(最小货币单位,整数)
DEV_SEED_WALLET_FROZEN_MINOR=0 DEV_SEED_WALLET_FROZEN_MINOR=0
# Sanctum SPA 场景:与 API 不同端口的前端域名列表,逗号分隔,用于有状态 Cookie 鉴权
# 如果要走局域网访问,把真实 IP 和端口补进来,例如:
# SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1,::1,192.168.0.101:3800,192.168.0.101:3801,192.168.0.101:8000
SANCTUM_STATEFUL_DOMAINS= SANCTUM_STATEFUL_DOMAINS=