import 'dart:convert'; import 'dart:typed_data'; import '../../tools/storage.dart'; import '../io_tool/io_tool.dart'; import 'io_reply.dart'; import 'io_sender.dart'; import 'io_type.dart'; class GetPublicKeyCommand extends SenderProtocol { String? lockID; GetPublicKeyCommand({ this.lockID, }) : super(CommandType.getLockPublicKey); @override List messageDetail() { List data = []; print("lockID:${lockID!} lockID.utf8.encode${utf8.encode(lockID!)}"); int length = utf8.encode(lockID!).length; data.addAll(utf8.encode(lockID!)); data = getFixedLengthList(data, 40 - length); print("dataaaaaa:$data"); return data; } } class GetPublicKeyReply extends Reply { GetPublicKeyReply.parseData(CommandType commandType, List dataDetail) : super.parseData(commandType, dataDetail) { var tokenData = dataDetail.sublist(1); print('获取公钥:$tokenData'); switch(dataDetail[0]){ case 0x00: //成功 var stringEncoded = base64.encode(tokenData); print('获取公钥成功 publickey:$stringEncoded'); // 储存公钥 Storage.setData("bluePublicKey", stringEncoded); break; case 0x07: //无权限 break; case 0x0f: //用户已存在 break; default: //失败 break; } } }