1. 重构项目文件结构,统一文件存放位置与命名规则 2. 配置tsconfig路径别名,替换原有相对路径导入 3. 迁移drama-status枚举到dramas.types统一管理 4. 新增全局配置文件与工具类,补充完整注释与文档 5. 修复所有导入路径与依赖引用问题
60 lines
1.8 KiB
TypeScript
60 lines
1.8 KiB
TypeScript
/**
|
||
* App config.
|
||
* @file 应用运行配置
|
||
* @module config/app.config
|
||
* @author zhxiao1124
|
||
*/
|
||
|
||
// 注意:本文件不主动加载 .env,环境变量由 src/main.ts 顶部的 `import "dotenv/config"` 注入。
|
||
// e2e 测试不加载 .env,DB_CONFIG.host 为空时应用自动退回内存模式(见 src/app/app.module.ts 的门控)。
|
||
|
||
const numberEnv = (key: string, fallback: number) => {
|
||
const value = Number(process.env[key]);
|
||
return Number.isFinite(value) ? value : fallback;
|
||
};
|
||
|
||
const boolEnv = (key: string, fallback: boolean) => {
|
||
const value = process.env[key];
|
||
if (value === undefined) return fallback;
|
||
return value === "true" || value === "1";
|
||
};
|
||
|
||
export const APP_CONFIG = {
|
||
APP_NAME: "cth-tk-backend",
|
||
PORT: numberEnv("PORT", 3000),
|
||
};
|
||
|
||
export const OPTIONS_CONFIG = {
|
||
cors: {
|
||
origin: process.env.CORS_ORIGIN?.split(","),
|
||
credentials: true,
|
||
},
|
||
};
|
||
|
||
export const DB_CONFIG = {
|
||
type: "mysql" as const,
|
||
host: process.env.DB_HOST,
|
||
port: numberEnv("DB_PORT", 3306),
|
||
username: process.env.DB_USERNAME ?? "root",
|
||
password: process.env.DB_PASSWORD ?? "",
|
||
database: process.env.DB_DATABASE ?? "cth_tk",
|
||
synchronize: boolEnv("DB_SYNCHRONIZE", false),
|
||
};
|
||
|
||
export const AUTH_CONFIG = {
|
||
jwtTokenSecret: process.env.JWT_SECRET ?? "development-secret",
|
||
expiresIn: "30d" as const,
|
||
};
|
||
|
||
export const ADMIN_AUTH_CONFIG = {
|
||
jwtTokenSecret: process.env.ADMIN_JWT_SECRET ?? process.env.JWT_SECRET ?? "development-secret",
|
||
expiresIn: "12h" as const,
|
||
username: process.env.ADMIN_USERNAME ?? "admin",
|
||
password: process.env.ADMIN_PASSWORD ?? "admin123",
|
||
email: process.env.ADMIN_EMAIL ?? "admin@example.com",
|
||
};
|
||
|
||
export const BYTEPLUS_CONFIG = {
|
||
bucket: process.env.BYTEPLUS_BUCKET ?? "mock-short-drama",
|
||
};
|