feat: 自托管超分媒体 + 详情页优先清晰JPG

- 后端 main.ts: 新增 /media 静态服务(指向容器内 /app/media,由卷挂载)
  配合 MEDIA_BASE_URL 指向本服务 /media,彻底脱离 jsDelivr 依赖
- 详情页 hero 优先用超分 JPG(720px),GIF/JPG 互为降级兜底
This commit is contained in:
2026-07-22 15:33:29 +08:00
parent 06bd96a473
commit 98126c62ec
2 changed files with 17 additions and 6 deletions

View File

@@ -1,9 +1,18 @@
import { NestFactory } from '@nestjs/core';
import { ValidationPipe } from '@nestjs/common';
import { NestExpressApplication } from '@nestjs/platform-express';
import { join } from 'path';
import { existsSync, mkdirSync } from 'fs';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const app = await NestFactory.create<NestExpressApplication>(AppModule);
// 自托管媒体(超分图/动图)静态服务:/media/** -> /app/media/**
// 容器内 /app/media 通过卷挂载服务器目录MEDIA_BASE_URL 指向本服务 /media
const mediaRoot = join(__dirname, '..', 'media');
if (!existsSync(mediaRoot)) mkdirSync(mediaRoot, { recursive: true });
app.useStaticAssets(mediaRoot, { prefix: '/media' });
if (process.env.CORS_ENABLED !== 'false') {
app.enableCors();