filesend/config/app.config.js

67 lines
1.7 KiB
JavaScript
Raw Normal View History

2025-10-10 17:25:29 +08:00
// 应用统一配置文件
const config = {
// API配置
api: {
baseURL: process.env.REACT_APP_API_BASE_URL || 'http://localhost:5000',
timeout: 10000,
retryCount: 3
},
// 应用信息
app: {
name: process.env.REACT_APP_APP_NAME || 'FileSend',
version: process.env.REACT_APP_VERSION || '1.0.0',
description: '文件分享与传输系统'
},
// 上传配置
upload: {
maxFileSize: 100 * 1024 * 1024, // 100MB
allowedTypes: [
'image/*',
'application/pdf',
'text/*',
'application/zip',
'application/x-zip-compressed'
],
chunkSize: 5 * 1024 * 1024 // 5MB分片
},
// 本地存储配置
storage: {
path: process.env.STORAGE_PATH || './uploads',
maxAge: 7 * 24 * 3600 * 1000, // 7天
cleanupInterval: 24 * 3600 * 1000 // 每天清理
},
// 数据库配置
database: {
url: process.env.DATABASE_URL || 'sqlite:///filesend.db',
echo: process.env.NODE_ENV !== 'production'
},
// 安全配置
security: {
jwtSecret: process.env.JWT_SECRET || 'your-secret-key-change-this',
jwtExpire: '7d',
bcryptRounds: 12,
corsOrigins: process.env.CORS_ORIGINS ? process.env.CORS_ORIGINS.split(',') : ['http://localhost:3000']
},
// 邮件配置(可选)
email: {
enabled: process.env.EMAIL_ENABLED === 'true',
host: process.env.EMAIL_HOST,
port: parseInt(process.env.EMAIL_PORT) || 587,
secure: process.env.EMAIL_SECURE === 'true',
user: process.env.EMAIL_USER,
pass: process.env.EMAIL_PASS,
from: process.env.EMAIL_FROM
}
};
// 环境判断
config.isDevelopment = process.env.NODE_ENV !== 'production';
config.isProduction = process.env.NODE_ENV === 'production';
module.exports = config;