import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { HttpModule } from '@nestjs/axios'; import { JwtModule } from '@nestjs/jwt'; import { PlatformModule } from '../platform/platform.module'; // 实体 import { ContentAuditLogEntity } from './entities/content-audit-log.entity'; // 适配器 import { DouyinContentAdapter } from './adapters/douyin-content.adapter'; import { DouyinAuthClient } from './adapters/DouYinClient'; import { WechatContentAdapter } from './adapters/wechat-content.adapter'; import { EnhancedWechatContentAdapter } from './adapters/enhanced-wechat-content.adapter'; // 服务 import { ContentAdapterFactory } from './services/content-adapter.factory'; import { UnifiedContentService } from './services/unified-content.service'; // 控制器 import { ContentModerationController } from './controllers/content-moderation.controller'; // 守卫 import { ContentAuditGuard } from './guards/content-audit.guard'; @Module({ imports: [ TypeOrmModule.forFeature([ContentAuditLogEntity]), HttpModule.register({ timeout: 30000, maxRedirects: 3, }), JwtModule.register({ secret: process.env.JWT_SECRET || 'default-secret', signOptions: { expiresIn: '1d' }, }), PlatformModule, ], providers: [ // 适配器实现 DouyinContentAdapter, DouyinAuthClient, WechatContentAdapter, EnhancedWechatContentAdapter, // 工厂和服务 ContentAdapterFactory, UnifiedContentService, // 守卫 ContentAuditGuard, ], controllers: [ContentModerationController], exports: [UnifiedContentService, ContentAdapterFactory, ContentAuditGuard, DouyinAuthClient], }) export class ContentModerationModule {}