| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # 测试服环境变量
- APP_ENV=test
- # Prisma Config
- # MYSQL_URL="mysql://boxdbuser:dwR%3D%29whu2Ze@localhost:3306/box_admin"
- # MONGO_URL="mongodb://boxuser:dwR%3D%29whu2Ze@localhost:27017/box_admin?authSource=admin"
- # MONGO_STATS_URL="mongodb://boxuser:dwR%3D%29whu2Ze@localhost:27017/box_stats?authSource=admin"
- # dave local
- MYSQL_URL="mysql://root:123456@localhost:3306/box_admin"
- MONGO_URL="mongodb://admin:ZXcv%21%21996@localhost:27017/box_admin?authSource=admin"
- MONGO_STATS_URL="mongodb://admin:ZXcv%21%21996@localhost:27017/box_stats?authSource=admin"
- # office dev env
- # MYSQL_URL="mysql://root:123456@192.168.0.100:3306/box_admin"
- # MONGO_URL="mongodb://msAdmin:Fl1%2A29MJe%26jLvj@192.168.0.100:27017/box_admin?authSource=admin"
- # MONGO_STATS_URL="mongodb://msAdmin:Fl1%2A29MJe%26jLvj@192.168.0.100:27017/box_stats?authSource=admin"
- # App set to 0.0.0.0 for local LAN access
- APP_HOST=0.0.0.0
- APP_PORT=3302
- APP_CORS_ORIGIN=*
- # JWT
- JWT_SECRET=047df8aaa3d17dc1173c5a9a3052ba66c2b0bd96937147eb643319a0c90d132f
- JWT_ACCESS_TOKEN_TTL=43200
- # RabbitMQ Config
- RABBITMQ_URL="amqp://boxrabbit:BoxRabbit%232025@localhost:5672"
- RABBITMQ_LOGIN_EXCHANGE="stats.user"
- RABBITMQ_LOGIN_QUEUE="stats.user.login.q"
- RABBITMQ_LOGIN_ROUTING_KEY="user.login"
- RABBITMQ_ADS_CLICK_ROUTING_KEY="stats.ad.click"
- # Stats Events Queues & Routing Keys
- RABBITMQ_STATS_EXCHANGE="stats.user"
- RABBITMQ_STATS_AD_CLICK_QUEUE="stats.ad.click"
- RABBITMQ_STATS_AD_CLICK_ROUTING_KEY="stats.ad.click"
- RABBITMQ_STATS_VIDEO_CLICK_QUEUE="stats.video.click"
- RABBITMQ_STATS_VIDEO_CLICK_ROUTING_KEY="stats.video.click"
- RABBITMQ_STATS_AD_IMPRESSION_QUEUE="stats.ad.impression"
- RABBITMQ_STATS_AD_IMPRESSION_ROUTING_KEY="stats.ad.impression"
- # Stats Aggregation Scheduler (runs every 5 minutes)
- # Set to 'false' to disable scheduled aggregation (manual trigger only via API)
- STATS_AGGREGATION_ENABLED=true
- # Optional: limit aggregation to last N days (leave empty for all-time)
- # STATS_AGGREGATION_WINDOW_DAYS=30
- # Stats Scoring Configuration
- # CTR Smoothing (Laplace): (clicks + alpha) / (impressions + beta)
- STATS_CTR_ALPHA=1
- STATS_CTR_BETA=2
- # Scoring Weights: score = w1*popularity + w2*ctr + w3*recency
- # Popularity: log(1 + impressions)
- # CTR: smoothed click-through rate
- # Recency: 1/(1 + ageDays) based on firstSeenAt
- STATS_WEIGHT_POPULARITY=0.5
- STATS_WEIGHT_CTR=0.3
- STATS_WEIGHT_RECENCY=0.2
|