handleQuery_admin_WithData function

void handleQuery_admin_WithData(
  1. List<int> value
)

处理 查询管理员信息 返回的数据

Implementation

void handleQuery_admin_WithData(List<int> value) async {
  // 0xFE 0x12 LEN  NID ID password ERR_CODE checksum
  // 如果管理员密码存在的情况下,则返回管理员用户的NID ,管理员密码的存储id ,以及管理员密码
  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});
    if (ERR_CODE == 0x0a) {
      print('管理员密码不存在');
      ZygBluetoothTool.cmdMsgHandle(
          '管理员密码不存在', {'cmd': cmdName, 'ERR_CODE': ERR_CODE});
    }
    return;
  }
  // NID
  int NID = dataDecrypt[0];
  // ID
  int ID = dataDecrypt[1];

  List<int> password = dataDecrypt.sublist(2, len - 1);
  String passwordStr = int2basse16(password);

  Map dataMap = {'NID': NID, 'ID': ID, 'password': passwordStr};

  print('$cmdName,成功');
  ZygBluetoothTool.cmdMsgHandle(
      '$cmdName,执行成功,${jsonEncode(dataMap)}', {'cmd': cmdName, ...dataMap});
}