Install dependencies:
│
├── /src
│ ├── /api # API层,对外封装的接口
│ │ ├── index.ts # API入口,暴露主要接口
│ │ └── types.ts # API相关的类型定义
│ │
│ ├── /core # Framework层,SDK的核心层
│ │ ├── core.ts # SDK核心类,实现SDK初始化、模块管理等
│ │ ├── config.ts # 配置管理,读取和管理SDK的配置
│ │ ├── events.ts # 事件总线,用于模块间通信
│ │ └── utils.ts # 通用工具函数
│ │
│ ├── /modules # Module层,具体业务功能的实现
│ │ ├── /chat # 聊天模块
│ │ │ ├── chat.ts # 聊天模块主要逻辑
│ │ │ ├── wsManager.ts # WebSocket管理
│ │ │ └── types.ts # 聊天模块的类型定义
│ │ ├── /recommendation # 快捷问答推荐模块
│ │ │ ├── recommendation.ts # 推荐模块主要逻辑
│ │ │ ├── dataProcessor.ts # 数据处理器,处理推荐相关的数据
│ │ │ └── types.ts # 推荐模块的类型定义
│ │ ├── /search # 智能联想搜索模块
│ │ │ ├── search.ts # 搜索模块主要逻辑
│ │ │ ├── indexer.ts # 搜索索引器
│ │ │ └── types.ts # 搜索模块的类型定义
│ │ └── /media # 多媒体分享模块
│ │ ├── media.ts # 多媒体模块主要逻辑
│ │ ├── uploader.ts # 文件上传管理
│ │ └── types.ts # 多媒体模块的类型定义
│ │
│ ├── /components # Web Components 组件
│ │ ├── dh-chat-ui.ts # 主聊天UI组件
│ │ ├── dh-media-viewer.ts # 媒体查看组件
│ │ └── styles.ts # 样式管理,包含主题色定义等
│ │
│ ├── /libware # 通用库和工具封装
│ │ ├── logger.ts # 日志系统
│ │ ├── storage.ts # 数据存储工具
│ │ ├── network.ts # 网络请求处理
│ │ └── beacon.ts # 数据上报工具
│ │
│ ├── /types # 全局类型定义
│ │ └── index.d.ts # 全局类型定义文件
│ │
│ └── index.ts # 入口文件,导出SDK核心功能
│
├── /tests # 测试目录
│ ├── /unit # 单元测试
│ ├── /integration # 集成测试
│ └── /e2e # 端到端测试
│
├── /docs # 文档目录
│ ├── api.md # API文档
│ ├── integration.md # 集成指南
│ └── architecture.md # 架构文档
│
├── /examples # 示例目录,包含不同集成方式的示例
│ ├── /react-example # React集成示例
│ ├── /vue-example # Vue集成示例
│ └── /vanilla-js-example # 原生JS集成示例
│
├── /scripts # 脚本目录,包含构建、打包等脚本
│ ├── build.js # 构建脚本
│ ├── test.js # 测试脚本
│ └── deploy.js # 部署脚本
│
├── package.json # 项目依赖配置
├── tsconfig.json # TypeScript配置
├── webpack.config.js # Webpack配置(或其他打包工具配置)
├── rollup.config.js # Rollup配置(可选)
├── README.md # 项目说明文档
└── LICENSE # 许可证文件
npm start
npm run build