You can integrate nest-wechat into your NestJS application using two primary methods: register for static configuration or forRootAsync for dynamic configuration (e.g., using ConfigService).
// Method 1: Static registration using .register()
import { Module } from '@nestjs/common';
import { WeChatModule } from 'nest-wechat';
@Module({
imports: [WeChatModule.register({appId: 'your app id', secret: 'your secret'})],
})
export class AppModule {}
// Method 2: Dynamic registration using .forRootAsync()
import { CACHE_MANAGER, Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { Cache } from 'cache-manager';
import { RedisCache, WeChatModule } from 'nest-wechat';
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: '.env.test.local',
}),
WeChatModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService, CACHE_MANAGER],
useFactory: (configService: ConfigService, cache: Cache) => ({
appId: configService.get('WX_APPID'),
secret: configService.get('WX_SECRET'),
token: configService.get('WX_TOKEN'),
encodingAESKey: configService.get('WX_AESKEY'),
cacheAdapter: new RedisCache(cache),
debug: true,
}),
}),
]
})
export class AppModule {}