handleEnable_Disable_Dynamic_Password_WithData function
处理 启用/禁用指定的动态密码 返回的数据
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
});
}