import { Module, forwardRef, Global } from '@nestjs/common'; import { PassportModule } from '@nestjs/passport'; import { TypeOrmModule } from '@nestjs/typeorm'; import { ConfigModule } from '@nestjs/config'; import { AuthToken } from './entities/AuthToken'; import { AuthService } from './services/AuthService'; import { AuthController } from './controllers/AuthController'; import { LoginApiController } from './controllers/api/LoginApiController'; import { LoginConfigApiController } from './controllers/api/LoginConfigApiController'; import { RegisterApiController } from './controllers/api/RegisterApiController'; import { CaptchaController } from './controllers/adminapi/CaptchaController'; import { LoginConfigController } from './controllers/adminapi/LoginConfigController'; import { LoginApiService } from './services/api/LoginApiService'; import { LoginConfigApiService } from './services/api/LoginConfigApiService'; import { RegisterApiService } from './services/api/RegisterApiService'; import { CaptchaService } from './services/admin/CaptchaService'; import { LoginConfigService } from './services/admin/LoginConfigService'; import { CoreAuthService } from './services/core/CoreAuthService'; import { CoreCaptchaService } from './services/core/CoreCaptchaService'; import { CoreLoginConfigService } from './services/core/CoreLoginConfigService'; import { JwtAuthGuard } from './guards/JwtAuthGuard'; import { RolesGuard } from './guards/RolesGuard'; import { JwtGlobalModule } from './jwt.module'; // 导入Admin和Member模块 import { AdminModule } from '../admin/admin.module'; import { MemberModule } from '../member/member.module'; @Global() @Module({ imports: [ PassportModule, TypeOrmModule.forFeature([AuthToken]), JwtGlobalModule, // 导入Admin和Member模块以使用其服务 forwardRef(() => AdminModule), forwardRef(() => MemberModule), ], providers: [ AuthService, LoginApiService, LoginConfigApiService, RegisterApiService, CaptchaService, LoginConfigService, CoreAuthService, CoreCaptchaService, CoreLoginConfigService, JwtAuthGuard, RolesGuard ], controllers: [ AuthController, LoginApiController, LoginConfigApiController, RegisterApiController, CaptchaController, LoginConfigController ], exports: [ AuthService, LoginApiService, LoginConfigApiService, RegisterApiService, CaptchaService, LoginConfigService, CoreAuthService, CoreCaptchaService, CoreLoginConfigService, JwtAuthGuard, RolesGuard ], }) export class AuthModule {}