feat: 实现后端基础架构与 VOD 核心 API(Express + SQLite + JWT)

This commit is contained in:
2026-06-29 17:46:38 +06:00
parent 0192c313f4
commit da06866360
25 changed files with 10525 additions and 0 deletions
+22
View File
@@ -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');
}
}