refactor:将 ZulipAccountsModule 改为全局单例模块 #51

Merged
moyin merged 2 commits from docs/ai-reading-guide-20260115 into main 2026-01-15 15:00:15 +08:00
4 changed files with 8 additions and 8 deletions

View File

@@ -6,6 +6,7 @@ import { AppController } from './app.controller';
import { AppService } from './app.service';
import { LoggerModule } from './core/utils/logger/logger.module';
import { UsersModule } from './core/db/users/users.module';
import { ZulipAccountsModule } from './core/db/zulip_accounts/zulip_accounts.module';
import { LoginCoreModule } from './core/login_core/login_core.module';
import { AuthGatewayModule } from './gateway/auth/auth.gateway.module';
import { ChatGatewayModule } from './gateway/chat/chat.gateway.module';
@@ -62,6 +63,8 @@ function isDatabaseConfigured(): boolean {
database: process.env.DB_NAME,
entities: [__dirname + '/**/*.entity{.ts,.js}'],
synchronize: false,
// 字符集配置 - 支持中文和emoji
charset: 'utf8mb4',
// 添加连接超时和重试配置
connectTimeout: 10000,
retryAttempts: 3,
@@ -70,6 +73,8 @@ function isDatabaseConfigured(): boolean {
] : []),
// 根据数据库配置选择用户模块模式
isDatabaseConfigured() ? UsersModule.forDatabase() : UsersModule.forMemory(),
// Zulip账号关联模块 - 全局单例,其他模块无需重复导入
ZulipAccountsModule.forRoot(),
LoginCoreModule,
AuthGatewayModule, // 认证网关模块
ChatGatewayModule, // 聊天网关模块

View File

@@ -27,7 +27,6 @@ import { AdminCoreModule } from '../../core/admin_core/admin_core.module';
import { LoggerModule } from '../../core/utils/logger/logger.module';
import { UsersModule } from '../../core/db/users/users.module';
import { UserProfilesModule } from '../../core/db/user_profiles/user_profiles.module';
import { ZulipAccountsModule } from '../../core/db/zulip_accounts/zulip_accounts.module';
import { AdminController } from './admin.controller';
import { AdminService } from './admin.service';
import { AdminDatabaseController } from './admin_database.controller';
@@ -55,8 +54,7 @@ function isDatabaseConfigured(): boolean {
UsersModule,
// 根据数据库配置选择UserProfiles模块模式
isDatabaseConfigured() ? UserProfilesModule.forDatabase() : UserProfilesModule.forMemory(),
// 根据数据库配置选择ZulipAccounts模块模式
isDatabaseConfigured() ? ZulipAccountsModule.forDatabase() : ZulipAccountsModule.forMemory(),
// 注意:ZulipAccountsModule 是全局模块,已在 AppModule 中导入,无需重复导入
// 注册AdminOperationLog实体
TypeOrmModule.forFeature([AdminOperationLog])
],

View File

@@ -36,7 +36,6 @@ import { LoginService } from './login.service';
import { RegisterService } from './register.service';
import { LoginCoreModule } from '../../core/login_core/login_core.module';
import { ZulipCoreModule } from '../../core/zulip_core/zulip_core.module';
import { ZulipAccountsModule } from '../../core/db/zulip_accounts/zulip_accounts.module';
import { UsersModule } from '../../core/db/users/users.module';
@Module({
@@ -44,7 +43,7 @@ import { UsersModule } from '../../core/db/users/users.module';
// 导入核心层模块
LoginCoreModule,
ZulipCoreModule,
ZulipAccountsModule.forRoot(),
// 注意:ZulipAccountsModule 是全局模块,已在 AppModule 中导入,无需重复导入
UsersModule,
],
providers: [

View File

@@ -36,7 +36,6 @@ import { ZulipEventProcessorService } from './services/zulip_event_processor.ser
import { ZulipAccountsBusinessService } from './services/zulip_accounts_business.service';
// 依赖模块
import { ZulipCoreModule } from '../../core/zulip_core/zulip_core.module';
import { ZulipAccountsModule } from '../../core/db/zulip_accounts/zulip_accounts.module';
import { RedisModule } from '../../core/redis/redis.module';
import { LoggerModule } from '../../core/utils/logger/logger.module';
import { LoginCoreModule } from '../../core/login_core/login_core.module';
@@ -50,8 +49,7 @@ import { ChatModule } from '../chat/chat.module';
CacheModule.register(),
// Zulip核心服务模块
ZulipCoreModule,
// Zulip账号关联模块
ZulipAccountsModule.forRoot(),
// 注意:ZulipAccountsModule 是全局模块,已在 AppModule 中导入,无需重复导入
// Redis模块
RedisModule,
// 日志模块