mirror of
https://github.com/2234839/web-font.git
synced 2026-05-08 13:18:10 +08:00
- 新增通用 LruCache 类,支持按条目数/字节容量两种淘汰策略 - 字体裁剪结果 LRU 内存缓存(默认 10MB,X-Cache 响应头标识命中) - 新增 GET /api/stats 运行时统计接口 - 前端统计面板(10s 轮询,页面不可见时暂停) - API handler 拆分到 routes/ 目录,提取 shared.ts 共享模块 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
23 lines
980 B
TypeScript
23 lines
980 B
TypeScript
/**
|
||
* 从环境变量读取服务配置,启动时一次性加载
|
||
*/
|
||
const env = globalThis.process?.env ?? {};
|
||
|
||
/** 临时上传开关 */
|
||
export const enableTempUpload = env.ENABLE_TEMP_UPLOAD === "true";
|
||
|
||
/** 管理员 API Key,为空则管理员上传不可用 */
|
||
export const adminApiKey: string = env.ADMIN_API_KEY ?? "";
|
||
|
||
/** 临时上传目录最大文件数 */
|
||
export const tempMaxFiles = parseInt(env.TEMP_MAX_FILES ?? "10", 10) || 10;
|
||
|
||
/** 临时上传目录总体积上限(字节),默认 200MB */
|
||
export const tempMaxTotalSize = parseInt(env.TEMP_MAX_TOTAL_SIZE ?? `${200 * 1024 * 1024}`, 10) || 200 * 1024 * 1024;
|
||
|
||
/** 字体裁剪结果内存缓存容量上限(字节),默认 10MB */
|
||
export const subsetCacheMaxSize = parseInt(env.SUBSET_CACHE_MAX_SIZE ?? `${10 * 1024 * 1024}`, 10) || 10 * 1024 * 1024;
|
||
|
||
/** 字体搜索目录(按优先级排序:admin > 普通 > 临时) */
|
||
export const fontDirs = ["font/admin", "font", "font/temp"] as const;
|