Appearance
默认 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()。