Files
cyh-tk-backend/config/app.config.ts
zhxiao1124 4eff4d877e refactor: 完成项目整体目录重构与路径别名配置
1.  重构项目文件结构,统一文件存放位置与命名规则
2.  配置tsconfig路径别名,替换原有相对路径导入
3.  迁移drama-status枚举到dramas.types统一管理
4.  新增全局配置文件与工具类,补充完整注释与文档
5.  修复所有导入路径与依赖引用问题
2026-07-02 19:17:56 +08:00

60 lines
1.8 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* App config.
* @file 应用运行配置
* @module config/app.config
* @author zhxiao1124
*/
// 注意:本文件不主动加载 .env环境变量由 src/main.ts 顶部的 `import "dotenv/config"` 注入。
// e2e 测试不加载 .envDB_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",
};