Przeglądaj źródła

📝 docs(sdk-core): 更新架构文档中的完成项列表

- 添加第8项:修复TypeScript类型检查问题,测试目录包含在编译中

✨ feat(sdk-core): 为适配器接口添加事件方法定义

- 在ISttManagerAdapter接口中添加on/off/emit事件方法
- 在IRtmManagerAdapter接口中添加on/off/emit事件方法

♻️ refactor(sdk-core): 优化测试文件中的类型导入方式

- 使用类型导入语法引入ISttManagerAdapter和IRtmManagerAdapter
- 替换直接导入具体实现类的方式,改为导入接口类型
yourname 2 miesięcy temu
rodzic
commit
7d2f5e3ef3

+ 1 - 0
docs/stories/1.1.sdk-core-architecture.md

@@ -177,6 +177,7 @@ Ready for Review
 5. ✅ 完整的TypeScript类型定义已提供
 6. ✅ 测试环境配置完成,66个测试全部通过
 7. ✅ 现有应用兼容性验证通过
+8. ✅ 修复TypeScript类型检查问题,测试目录包含在编译中
 
 ### File List
 

+ 10 - 0
packages/stt-sdk-core/src/types/index.ts

@@ -11,6 +11,11 @@ export interface ISttManagerAdapter {
   config?: SttManagerConfig
   userId: string | number
   channel: string
+
+  // 事件方法
+  on<K extends keyof SttEventMap>(event: K, listener: SttEventMap[K]): this
+  off<K extends keyof SttEventMap>(event: K, listener: SttEventMap[K]): this
+  emit<K extends keyof SttEventMap>(event: K, ...args: any[]): this
 }
 
 export interface IRtmManagerAdapter {
@@ -25,6 +30,11 @@ export interface IRtmManagerAdapter {
   userId: string
   channel: string
   userList: RtmUserInfo[]
+
+  // 事件方法
+  on<K extends keyof RtmEventMap>(event: K, listener: RtmEventMap[K]): this
+  off<K extends keyof RtmEventMap>(event: K, listener: RtmEventMap[K]): this
+  emit<K extends keyof RtmEventMap>(event: K, ...args: any[]): this
 }
 
 // 配置接口

+ 3 - 4
packages/stt-sdk-core/tests/compatibility/integration.test.ts

@@ -1,13 +1,12 @@
 import { describe, test, expect, beforeEach, afterEach, vi } from 'vitest'
 import { SttSdk } from '../../src/core/stt-sdk'
-import { SttManagerAdapter } from '../../src/managers/stt-manager-adapter'
-import { RtmManagerAdapter } from '../../src/managers/rtm-manager-adapter'
+import type { ISttManagerAdapter, IRtmManagerAdapter } from '../../src/types'
 
 // 模拟现有应用的使用模式
 describe('Integration Test - Existing Application Pattern', () => {
   let sdk: SttSdk
-  let sttManager: SttManagerAdapter
-  let rtmManager: RtmManagerAdapter
+  let sttManager: ISttManagerAdapter
+  let rtmManager: IRtmManagerAdapter
 
   beforeEach(async () => {
     // 模拟现有应用的初始化过程