handleQuery_version_WithData function

void handleQuery_version_WithData(
  1. List<int> value
)

处理 查询版本号 返回的数据

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);
}