feat: 实现后端基础架构与 VOD 核心 API(Express + SQLite + JWT)
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import dotenv from 'dotenv';
|
||||
import path from 'path';
|
||||
|
||||
dotenv.config({ path: path.resolve(process.cwd(), '.env') });
|
||||
|
||||
export const config = {
|
||||
port: parseInt(process.env.PORT || '3001', 10),
|
||||
nodeEnv: process.env.NODE_ENV || 'development',
|
||||
jwtSecret: process.env.JWT_SECRET || 'vod-manager-dev-secret-change-me',
|
||||
jwtExpiresIn: process.env.JWT_EXPIRES_IN || '7d',
|
||||
encryptionKey: process.env.APP_ENCRYPTION_KEY || '',
|
||||
defaultAdminUsername: process.env.DEFAULT_ADMIN_USERNAME || 'admin',
|
||||
defaultAdminPassword: process.env.DEFAULT_ADMIN_PASSWORD || 'admin',
|
||||
dbPath: process.env.DB_PATH || path.resolve(process.cwd(), 'data', 'vod-manager.db'),
|
||||
vodEndpointTemplate: process.env.VOD_ENDPOINT_TEMPLATE || 'vod.{region}.aliyuncs.com',
|
||||
};
|
||||
|
||||
export function validateConfig(): void {
|
||||
if (config.nodeEnv === 'production' && config.jwtSecret === 'vod-manager-dev-secret-change-me') {
|
||||
throw new Error('JWT_SECRET must be set in production');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user