Files
zyt/TUICallKit-Vue3/TUIKit/states/chat-uikit-engine-lite/index.ts
T
2026-03-11 09:49:47 +08:00

67 lines
2.6 KiB
TypeScript

import type { ITUIChatEngine } from './interface/engine';
import type { ITUIGlobal } from './interface/global';
import type { ITUIStore } from './interface/store';
import type {
ITUIConversationService,
ITUIUserService,
ITUIChatService,
ITUIGroupService,
ITUIReportService,
} from './interface/service';
import ChatEngine from './TUIEngine/engine';
import TUIGlobal from './TUIGlobal/tui-global';
import TUIStore from './TUIStore/tui-store';
import TUIConversationService from './TUIConversationService/tui-conversation';
import TUIGroupService from './TUIGroupService/tui-group';
import TUIUserService from './TUIUserService/tui-user';
import TUIChatService from './TUIChatService/tui-chat';
import TUIReportService from './TUIReportService/tui-report';
import { MountedList, StoreName, ValidateAPIList } from './const';
import validateInitialization from './utils/validate-initialization';
const version = 'BUNDLE_VERSION';
console.log(`TUIChatEngine-Lite.VERSION:${version}`);
// 实例化
const TUIChatEngine: ITUIChatEngine = ChatEngine.getInstance();
const tuiGlobal: ITUIGlobal = TUIGlobal.getInstance();
const tuiStore: ITUIStore = TUIStore.getInstance();
const tuiConversation: ITUIConversationService = TUIConversationService.getInstance();
const tuiGroup: ITUIGroupService = TUIGroupService.getInstance();
const tuiUser: ITUIUserService = TUIUserService.getInstance();
const tuiChat: ITUIChatService = TUIChatService.getInstance();
const tuiReport: ITUIReportService = TUIReportService.getInstance();
// 模块挂载
TUIChatEngine.mount(MountedList.TUIStore, tuiStore);
TUIChatEngine.mount(MountedList.TUIConversation, tuiConversation);
TUIChatEngine.mount(MountedList.TUIUser, tuiUser);
TUIChatEngine.mount(MountedList.TUIChat, tuiChat);
TUIChatEngine.mount(MountedList.TUIReport, tuiReport);
// API 调用校验 Engine 初始化状态
validateInitialization(TUIChatEngine, TUIChatEngine, ValidateAPIList.ENGINE);
validateInitialization(TUIChatEngine, tuiConversation, ValidateAPIList.CONV);
validateInitialization(TUIChatEngine, tuiChat, ValidateAPIList.CHAT);
validateInitialization(TUIChatEngine, tuiUser, ValidateAPIList.USER);
validateInitialization(TUIChatEngine, tuiReport, ValidateAPIList.ENGINE);
// 输出 service 方法参数和 model 声明文件
export * from './type';
export * from './interface/model';
// 输出产物
export {
TUIChatEngine,
tuiGlobal as TUIGlobal,
tuiStore as TUIStore,
tuiConversation as TUIConversationService,
tuiGroup as TUIGroupService,
tuiUser as TUIUserService,
tuiChat as TUIChatService,
tuiReport as TUIReportService,
StoreName,
};
export default TUIChatEngine;