Files
jiebanke/backend/config/env.js
2025-09-01 03:32:45 +08:00

103 lines
2.9 KiB
JavaScript

// 环境配置
const path = require('path')
require('dotenv').config({ path: path.join(__dirname, '../../.env') })
const config = {
// 开发环境
development: {
port: process.env.PORT || 3100,
mysql: {
host: process.env.DB_HOST || '192.168.0.240',
port: process.env.DB_PORT || 3306,
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'aiotAiot123!',
database: process.env.DB_NAME || 'jiebandata',
connectionLimit: 10,
charset: 'utf8mb4',
timezone: '+08:00'
},
jwt: {
secret: process.env.JWT_SECRET || 'dev-jwt-secret-key-2024',
expiresIn: process.env.JWT_EXPIRES_IN || '7d',
refreshExpiresIn: process.env.JWT_REFRESH_EXPIRES_IN || '30d'
},
redis: {
host: process.env.REDIS_HOST || 'redis.jiebanke.com',
port: process.env.REDIS_PORT || 6379,
password: process.env.REDIS_PASSWORD || ''
},
upload: {
maxFileSize: 5 * 1024 * 1024, // 5MB
allowedTypes: ['image/jpeg', 'image/png', 'image/gif']
},
cors: {
origin: process.env.CORS_ORIGIN || 'https://www.jiebanke.com',
credentials: true
}
},
// 测试环境
test: {
port: process.env.PORT || 3100,
mysql: {
host: process.env.DB_HOST || '192.168.0.240',
port: process.env.DB_PORT || 3306,
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'aiotAiot123!',
database: process.env.DB_NAME || 'jiebandata_test',
connectionLimit: 5,
charset: 'utf8mb4',
timezone: '+08:00'
},
jwt: {
secret: process.env.JWT_SECRET || 'test-jwt-secret-key-2024',
expiresIn: '1h',
refreshExpiresIn: '7d'
},
upload: {
maxFileSize: 2 * 1024 * 1024, // 2MB
allowedTypes: ['image/jpeg', 'image/png']
}
},
// 生产环境
production: {
port: process.env.PORT || 3100,
mysql: {
host: process.env.DB_HOST || '129.211.213.226',
port: process.env.DB_PORT || 9527,
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'aiotAiot123!',
database: process.env.DB_NAME || 'jiebandata',
connectionLimit: 20,
charset: 'utf8mb4',
timezone: '+08:00'
},
jwt: {
secret: process.env.JWT_SECRET,
expiresIn: process.env.JWT_EXPIRES_IN || '1d',
refreshExpiresIn: process.env.JWT_REFRESH_EXPIRES_IN || '7d'
},
redis: {
host: process.env.REDIS_HOST,
port: process.env.REDIS_PORT || 6379,
password: process.env.REDIS_PASSWORD
},
upload: {
maxFileSize: 10 * 1024 * 1024, // 10MB
allowedTypes: ['image/jpeg', 'image/png', 'image/webp']
},
cors: {
origin: process.env.CORS_ORIGIN || 'https://your-domain.com',
credentials: true
}
}
}
// 获取当前环境配置
const getConfig = () => {
const env = process.env.NODE_ENV || 'development'
return config[env]
}
module.exports = getConfig()