跳到主要内容

InfiAccessoryClient API 说明

更新时间 2024/11/20 08:56:55

InfiAccessoryClient 客户端对象是使用英飞辅助 SDK InfiAccessorySDK 全局对象在完成初始化后获取到的对象实例。

API 列表

getSignInClient

getSignInClient: () => Promise<CreateSignInClientType>;

获取签到子服务对象实例,您需要基于该子服务对象实例执行具体的签到业务。

返回

执行 getSignInClient API 后,您会获取到一个 Promise 对象 (CreateSignInClientType), 该对象在 fulfill 后,会有以下可能的返回结果:

  • 执行成功,返回对象为:

    {
    code: 0; // 成功状态码
    payload: SignInClient; // 签到子服务实例对象
    }
  • 执行失败,返回对象为:

    {
    code: number; // 失败错误码
    }

    错误码对应含义可以参考错误码文档

注:单一 InfiAccessoryClient 所获取到的 InfiSignInInterface 对象为单例模式。重复执行 getSignInClient 均会返回同一对象实例。

destroy

destroy: () => void;

销毁 InfiAccessoryClient 对象,并释放 websocket 链接。当执行此 API 后,InfiAccessoryClient 会处于废弃状态, 您需要重新执行 InfiAccessorySDK.createClient API 以获得新的客户端对象实例。

on

  on: <T extends InfiAccessoryEventType>(
evtName: T,
CB: (evtParam: InfiAccessoryEventMapT[T]) => void,
) => () => void;

监听 InfiAccessoryClient 提供出来的网络连接相关事件,并注入回调事件。事件类型 evtName 包括:

  • CONNECTING: 网络连接中
  • RECONNECTED: 网络已重连
  • CONNECTION_CLOSED: 网络连接已断开
  • ERROR: 内部错误

InfiAccessoryEventMapT 类型定义如下:

/** SDK client 实例事件名 */
enum InfiAccessoryEventType {
CONNECTING = 'CONNECTING',
RECONNECTED = 'RECONNECTED',
CONNECTION_CLOSED = 'CONNECTION_CLOSED',
}

/** SDK client 实例事件名对应的回调参数类型定义 */
type InfiAccessoryEventMapT = {
[InfiAccessoryEventType.CONNECTING]: void;
[InfiAccessoryEventType.RECONNECTED]: void;
[InfiAccessoryEventType.CONNECTION_CLOSED]: void;
};

放回

on API 在执行后,会返回一个函数,您可以通过执行该函数来释放监听行为。