handleEnable_Disable_Dynamic_Password_WithData function

void handleEnable_Disable_Dynamic_Password_WithData(
  1. List<int> value
)

处理 启用/禁用指定的动态密码 返回的数据

Implementation

void handleEnable_Disable_Dynamic_Password_WithData(List<int> value) async {
  // 0xFE 0x20 LEN  ENABLED  PASSWORD  ERR_CODE checksum
  String cmdName = '启用/禁用指定的动态密码';
  // 获取有效数据的长度
  int len = value[2];

  //获取解密后的有效数据
  List<int> dataDecrypt = await decryptTemp(value);

  // ERR_CODE为0x00时表示创建用户成功,为其他字段时则表示创建用户失败,其中为0X0B时表示用户已经重复
  int ERR_CODE = dataDecrypt[len - 1];
  if (ERR_CODE != 0) {
    print('$cmdName,失败,错误码:$ERR_CODE');
    ZygBluetoothTool.cmdMsgHandle(
        '$cmdName,执行失败,错误码:$ERR_CODE', {'cmd': cmdName, 'ERR_CODE': ERR_CODE});
    return;
  }
  // ENABLED  为0x01,表示启用动态密码;为0x00时,表示禁用动态密码。
  int ENABLED = dataDecrypt[0];
  String ENABLED_str = ENABLED == 0 ? '禁用' : '启用';

  // 基准时间
  List<int> PASSWORD = dataDecrypt.sublist(1, len - 1);
  String PASSWORDStr = int2basse16(PASSWORD);
  print('$cmdName,成功');

  ZygBluetoothTool.cmdMsgHandle('$cmdName,执行成功,动态密码$PASSWORDStr已$ENABLED_str', {
    'cmd': cmdName,
    'ERR_CODE': ERR_CODE,
    'ENABLED': ENABLED_str,
    'PASSWORD': PASSWORDStr
  });
}