2026-03-26 10:39:58 +08:00
|
|
|
/**
|
|
|
|
|
* 应用配置
|
|
|
|
|
*/
|
2026-07-01 16:13:47 +08:00
|
|
|
const isProduction = process.env.NODE_ENV === 'production';
|
|
|
|
|
const jwtSecret = process.env.JWT_SECRET || '';
|
|
|
|
|
|
|
|
|
|
if (isProduction && !jwtSecret) {
|
|
|
|
|
throw new Error('JWT_SECRET must be set in production');
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-26 10:39:58 +08:00
|
|
|
module.exports = {
|
|
|
|
|
// 服务器配置
|
|
|
|
|
port: process.env.PORT || 3000,
|
2026-07-12 17:50:04 +08:00
|
|
|
host: process.env.HOST || (isProduction ? '127.0.0.1' : '0.0.0.0'),
|
|
|
|
|
trustProxy: process.env.TRUST_PROXY || (isProduction ? 'loopback' : false),
|
2026-03-26 10:39:58 +08:00
|
|
|
|
|
|
|
|
// JWT 配置
|
2026-07-01 16:13:47 +08:00
|
|
|
jwtSecret: jwtSecret || 'dev-only-gamer-order-secret',
|
2026-03-26 10:39:58 +08:00
|
|
|
jwtExpiresIn: '7d',
|
|
|
|
|
|
2026-07-01 16:13:47 +08:00
|
|
|
// 注册默认关闭,生产环境可通过 ENABLE_REGISTRATION=true 显式开启
|
|
|
|
|
enableRegistration: process.env.ENABLE_REGISTRATION === 'true',
|
|
|
|
|
|
|
|
|
|
// CORS 配置:默认同源;如需跨域,用逗号分隔配置 CORS_ORIGINS
|
|
|
|
|
corsOrigins: (process.env.CORS_ORIGINS || '')
|
|
|
|
|
.split(',')
|
|
|
|
|
.map(s => s.trim())
|
|
|
|
|
.filter(Boolean),
|
|
|
|
|
|
2026-03-26 10:39:58 +08:00
|
|
|
// 缓存配置
|
|
|
|
|
cache: {
|
|
|
|
|
ttl: 2 * 60 * 1000, // 缓存有效期 2 分钟
|
|
|
|
|
maxSize: 100 // 最大缓存条目数
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 分页配置
|
|
|
|
|
pagination: {
|
|
|
|
|
defaultLimit: 20, // 默认每页条数
|
|
|
|
|
maxLimit: 100 // 最大每页条数
|
|
|
|
|
},
|
|
|
|
|
|
2026-07-01 16:13:47 +08:00
|
|
|
import: {
|
|
|
|
|
maxRecords: 5000
|
|
|
|
|
},
|
|
|
|
|
|
2026-03-26 10:39:58 +08:00
|
|
|
// 日志配置
|
|
|
|
|
log: {
|
|
|
|
|
level: process.env.LOG_LEVEL || 'info', // debug, info, warn, error
|
|
|
|
|
colorize: true
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 允许的类别
|
|
|
|
|
categories: {
|
|
|
|
|
income: ['接单', '派单', '红包收入', '奶茶'],
|
|
|
|
|
expense: ['红包支出', '比心', '其他支出']
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 允许的联系人字段
|
|
|
|
|
contactFields: ['boss', 'partner', 'source', 'destination']
|
2026-07-01 16:13:47 +08:00
|
|
|
};
|