forked from datawhale/whale-town-end
feat(chat): 实现登录时自动初始化Zulip客户端
范围: src/business/chat/ 涉及文件: - chat.module.ts - chat.service.ts 主要功能: - 添加ZulipAccountsModule依赖,支持查询用户Zulip账号 - 实现initializeZulipClientForUser方法,登录时自动初始化Zulip客户端 - 从数据库获取用户Zulip账号信息和API Key - 优化会话创建流程,使用已创建的Zulip客户端队列ID - 移除登出时的API Key删除逻辑,保持持久化 - 支持基于目标地图的消息发送(mapId参数) 技术改进: - 分离Zulip客户端初始化逻辑,提高代码可维护性 - 添加完整的错误处理和日志记录 - 支持用户没有Zulip账号的场景(优雅降级)
This commit is contained in:
@@ -12,17 +12,19 @@
|
||||
* - 依赖 ZulipCoreModule(核心层)提供Zulip技术服务
|
||||
* - 依赖 RedisModule(核心层)提供缓存服务
|
||||
* - 依赖 LoginCoreModule(核心层)提供Token验证
|
||||
* - 依赖 ZulipAccountsModule(核心层)提供Zulip账号数据访问
|
||||
*
|
||||
* 导出接口:
|
||||
* - SESSION_QUERY_SERVICE: 会话查询接口(供其他 Business 模块使用)
|
||||
*
|
||||
* 最近修改:
|
||||
* - 2026-01-15: 功能完善 - 添加ZulipAccountsModule依赖,支持登录时初始化Zulip客户端 (修改者: AI)
|
||||
* - 2026-01-14: 代码规范优化 - 完善文件头注释规范 (修改者: moyin)
|
||||
*
|
||||
* @author moyin
|
||||
* @version 1.1.1
|
||||
* @version 1.2.0
|
||||
* @since 2026-01-14
|
||||
* @lastModified 2026-01-14
|
||||
* @lastModified 2026-01-15
|
||||
*/
|
||||
|
||||
import { Module } from '@nestjs/common';
|
||||
@@ -33,6 +35,7 @@ import { ChatCleanupService } from './services/chat_cleanup.service';
|
||||
import { ZulipCoreModule } from '../../core/zulip_core/zulip_core.module';
|
||||
import { RedisModule } from '../../core/redis/redis.module';
|
||||
import { LoginCoreModule } from '../../core/login_core/login_core.module';
|
||||
import { ZulipAccountsModule } from '../../core/db/zulip_accounts/zulip_accounts.module';
|
||||
import { SESSION_QUERY_SERVICE } from '../../core/session_core/session_core.interfaces';
|
||||
|
||||
@Module({
|
||||
@@ -43,6 +46,8 @@ import { SESSION_QUERY_SERVICE } from '../../core/session_core/session_core.inte
|
||||
RedisModule,
|
||||
// 登录核心模块
|
||||
LoginCoreModule,
|
||||
// Zulip账号数据库模块
|
||||
ZulipAccountsModule.forRoot(),
|
||||
],
|
||||
providers: [
|
||||
// 主聊天服务
|
||||
|
||||
Reference in New Issue
Block a user