Skip to content

默认 SDK 单例 ​

0.6 起 SDK 根入口会 eager 创建唯一默认实例并立即握手,不再公开独立实例工厂。

业务接入 ​

ts
import hbSDK from '@heybox/hb-sdk'

测试环境注入 window ​

测试需要替换 bridge 或 window 时,应在应用测试边界 mock @heybox/hb-sdk 公开模块,不要从业务代码访问内部构造器。

ts
import type { MiniProgramSDKHandshakeStateHandler } from '@heybox/hb-sdk'

const sdkMock = vi.hoisted(() => ({
  state: { status: 'ready' as const },
  unsubscribe: vi.fn(),
}))

vi.mock('@heybox/hb-sdk', () => ({
  default: {
    getHandshakeState: vi.fn(() => sdkMock.state),
    onHandshakeStateChange: vi.fn((handler: MiniProgramSDKHandshakeStateHandler) => {
      handler(sdkMock.state)
      return sdkMock.unsubscribe
    }),
  },
}))

默认实例由页面生命周期管理,业务不调用 destroy()。