{IDO设备绑定接口说明}

1.功能概述

提供查询绑定状态、发起绑定和解绑、监听绑定模式能力。

2.接口能力

1.查询绑定状态:

1.1 功能概括:

1.2 API ID:

Future<bool> get isBinded;

1.3 API参数说明:

@return:isBinded 是否绑定标志,bool类型,false:非绑定状态,true:绑定状态。

2.查询当前是否在绑定中:

2.1 功能概括:

绑定中,切换设备将受到限制。

2.2 API ID:

bool get isBinding;

2.3 API参数说明:

@return:isBinding 是否在绑定中的标志,bool类型,false:不在绑定中,true:绑定中。

3.发起绑定:

3.1 功能概括:

发起绑定,绑定成功后通过回调返回设备的设备信息和功能表信息。////TODO

3.2 API ID:

  /// 发起绑定
  /// osVersion: 系统版本 (取主版本号)
  /// userId: 用户ID,最大14字节(超过14字节会提取后14字节)
  /// encryptedAuthData: 加密授权数据回调(仅支持的设备才会触发该回调,没有换手机绑定场景,可忽略)
Stream<BindStatus> startBind(
  {required int osVersion,
   required BindValueCallback<IDODeviceInfo> deviceInfo,
   required BindValueCallback<IDOFunctionTable> functionTable,
   String? userId,
   BindValueCallback<IDOEncryptedAuthData>? encryptedAuthData});

3.3 API参数说明:

@param:osVersion 系统版本,取主版本号。

@param:deviceInfo 发起绑定后,回调绑定设备的设备信息。

@param:functionTable 发起绑定后,回调绑定设备的功能表信息。

@param:userId 用户ID,最大14字节(超过14字节会提取后14字节)。

@param:encryptedAuthData 加密授权数据回调(仅支持的设备才会触发该回调,详见 IDOEncryptedAuthData 模型说明)。

4.发起解绑:

4.1 功能概括:

对指定MAC的设备发起解绑,可强制解绑设备。

4.2 API ID:

Future<bool> unbind({required String macAddress, bool isForceRemove = false});

4.3 API参数说明:

@param:macAddress MAC地址。

@param:isForceRemove 是否强制解绑设备,设备无响应也删除,true强制解绑和删除设备,默认为false。

5.发起授权码绑定:

5.1 功能概括:

无。

5.2 API ID:

Stream<bool> setAuthCode(String code, int osVersion);

5.3 API参数说明:

@param:code 配对码

@param:osVersion 系统版本(取主版本号)

6.设置加密授权数据:

6.1 功能概括:

仅限支持设备有效。注意:需要在libManager.markConnectedDeviceSafe(...)调用前执行,且isBinded=true有效。

6.2 API ID:

Future<bool> setEncryptedAuthData(String macAddress, IDOEncryptedAuthData data);

6.3 API参数说明:

@param:macAddress MAC地址。

@param:data 加密授权数据,详见 IDOEncryptedAuthData 模型说明

7.注册更新模式监听回调:

7.1 功能概括:

监听目前的更新模式回调注册方法。////TODO

7.2 API ID:

StreamSubscription listenUpdateSetModeNotification(
  void Function(int mode) func);

7.3 API参数说明:

@param:func 回调方法,mode包括:0 没有绑定, 1 已经绑定, 2 升级模式, 3 重连, 4 泰凌微

8. IDOEncryptedAuthData 模型说明:

8.1 功能概括:

加密授权数据模型,用于在绑定过程中或连接前同步加密授权数据。

8.2 模型定义:

class IDOEncryptedAuthData {
  /// 授权数据(12 字节)
  final List<int> authData;

  /// 加密方式版本(0: 原有,0x10: 新版)
  final int encryptedVersion;

  /// 授权数据长度
  final int authLength;
}

8.3 字段说明:

  • authData: List<int> 类型,授权数据内容,固定为 12 字节。
  • encryptedVersion: int 类型,加密版本。0 表示旧版本,0x10 表示新版本。
  • authLength: int 类型,授权数据内容的长度(通常为 12)。
Copyright © 2023-2024 IDO. All rights reserved. all right reserved,powered by Gitbook修订时间: 2026-04-14 17:59:06

results matching ""

    No results matching ""