handleQuery_version_WithData function
处理 查询版本号 返回的数据
Implementation
void handleQuery_version_WithData(List<int> value) async {
// 0xFE 0x1A LEN VER1 VER2 YY MM DD HW_TYPE 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;
}
//VER1 VER2 YY MM DD
List<int> VER1_VER2_YYMMDD = dataDecrypt.sublist(0, 0 + 5);
List<String> VER1_VER2_YYMMDD_strList = intList2str(VER1_VER2_YYMMDD);
// HW_TYPE
// HW_TYPE 表示硬件型号; 目前 0x01 表示 FM60,02表示 FM61,0x03表示FM60B,0x04表示FM67,0x05表示FM810, 0x06表示FM68, 0x07表示FM67N, 0x08表示FM72
int HW_TYPE = dataDecrypt[len - 2];
String HW_TYPE_str = getHW_TYPE_str(HW_TYPE);
String str =
'版本号为:V${VER1_VER2_YYMMDD[0]}.${VER1_VER2_YYMMDD[1]} 日期:${VER1_VER2_YYMMDD[2]}年${VER1_VER2_YYMMDD[3]}月${VER1_VER2_YYMMDD[4]}日 硬件型号:$HW_TYPE_str';
print(str);
print('$cmdName,成功');
Map dataMap = {
'cmdName': cmdName,
'ERR_CODE': ERR_CODE,
'版本号': 'V${VER1_VER2_YYMMDD[0]}.${VER1_VER2_YYMMDD[1]}',
'日期':
'${VER1_VER2_YYMMDD[2]}年${VER1_VER2_YYMMDD[3]}月${VER1_VER2_YYMMDD[4]}日',
'硬件型号': HW_TYPE_str
};
ZygBluetoothTool.cmdMsgHandle('$cmdName,执行成功;$str', dataMap);
}