app.module.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { ConfigModule } from '@nestjs/config';
  2. // import { NacosService, NacosModule } from 'nest-nacos';
  3. import { getEnvPath } from './common/helper/env.helper';
  4. const envFilePath: string = getEnvPath(`${__dirname}/common/envs`);
  5. const config = ConfigModule.forRoot({
  6. isGlobal: true,
  7. envFilePath: envFilePath,
  8. });
  9. // const nacosMo = NacosModule.forRoot({
  10. // server: '120.24.144.164:8848',
  11. // accessKey: 'testsocket',
  12. // secretKey: 'testsocket',
  13. // namespace: '4dkankan-v4-test',
  14. // config: {
  15. // group: 'DEFAULT_GROUP',
  16. // dataId: '4dkakan-daikan-dev.yaml',
  17. // },
  18. // });
  19. // const nacosMo = NacosModule.forRoot({
  20. // server: '172.20.1.63:8848',
  21. // accessKey: 'nacos',
  22. // secretKey: 'nacos',
  23. // namespace: '4dkankan-v4-prod',
  24. // config: {
  25. // group: 'DEFAULT_GROUP',
  26. // dataId: '4dkakan-daikan.yaml',
  27. // },
  28. // });
  29. import { Module, OnModuleInit } from '@nestjs/common';
  30. import { AppController } from './app.controller';
  31. import { AppService } from './app.service';
  32. import { RedisModule, RedisService } from '@liaoliaots/nestjs-redis';
  33. import { ThrottlerModule } from '@nestjs/throttler';
  34. import { ThrottlerStorageRedisService } from 'nestjs-throttler-storage-redis';
  35. import { RoomModule } from './room/room.module';
  36. // import { SocketModule } from './socket/socket.module';
  37. import { RoomManagerModule } from './room-manager/room-manager.module';
  38. const url = `redis://:${process.env.REDIS_PASSWORD}@${process.env.REDIS_HOST}:${process.env.REDIS_PORT}/${process.env.REDIS_DB}`;
  39. const redisMo = RedisModule.forRoot({
  40. config: [
  41. {
  42. url: url,
  43. },
  44. {
  45. namespace: 'sub',
  46. url: url,
  47. },
  48. ],
  49. });
  50. const storeThor = ThrottlerModule.forRootAsync({
  51. useFactory(redisService: RedisService) {
  52. const redis = redisService.getClient();
  53. return {
  54. ttl: 60,
  55. limit: 600,
  56. storage: new ThrottlerStorageRedisService(redis),
  57. };
  58. },
  59. inject: [RedisService],
  60. });
  61. // nacosMo
  62. @Module({
  63. imports: [config, redisMo, storeThor, RoomModule, RoomManagerModule],
  64. controllers: [AppController],
  65. providers: [AppService],
  66. exports: [],
  67. })
  68. export class AppModule implements OnModuleInit {
  69. // constructor(private readonly nacos: NacosService) { }
  70. async onModuleInit() {
  71. // await this.nacos.register('4dkakan-daikan-socket', true);
  72. }
  73. }