67 lines
1.7 KiB
JavaScript
67 lines
1.7 KiB
JavaScript
// 应用统一配置文件
|
|
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; |