handleQuery_admin_WithData function
处理 查询管理员信息 返回的数据
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});
}