getAdd_pwd_card_fingerprint_data function
Future<List<int> >
getAdd_pwd_card_fingerprint_data(
- int NID,
- BluetoothCmdType cmdTYPE,
- List<
int> ? PASSWORD
获取 添加密码/卡/指纹 的数据
Implementation
Future<List<int>> getAdd_pwd_card_fingerprint_data(
int NID, BluetoothCmdType cmdTYPE, List<int>? PASSWORD) async {
// TYPE 的定义
// 1 (0x01) 管理员密码
// 2 (0x02) 普通用户密码
// 3 (0x03) 超级用户密码
// 4 (0x04) 动态密码
// 5 (0x05) 防胁迫密码
// 6 (0x06) 卡
// 7 (0x07) 指纹
// 8 (0x08) 防胁迫指纹
// 13 (0x0d) 本地一次性密码
// 0xFE 0X05 LEN SNO NID TYPE PASSWORD checksum
// 指令
int cmd = 0x05;
// 获取SNO
final List<int> snoList = await getSNOList();
// 获取NID
// int NID = 4;
// TYPE 04代表动态密码
// int TYPE = 0x01;
// int TYPE = 0x02;
// int TYPE = 0x06;
// int TYPE = 0x07;
// PASSWORD 为需要增加的密码,如果是添加卡/指纹,则PASSWORD为空;PASSWORD 用BCD码表示,如密码设置为123456,则表示为0x12,0x34,0x56,如遇密码为奇数,不足补F, 如1234567, 0x12,0x34,0x56,0X7F
// List<int> PASSWORD = [0x65, 0x43, 0x21];
int TYPE = cmdTYPE.index;
// List<int> PASSWORD = [0x55, 0x55, 0x55];
// List<int> PASSWORD = [];
if (TYPE == 1 || TYPE == 2 || TYPE == 3 || TYPE == 4 || TYPE == 5) {
if (PASSWORD == null) {
print('密码是空');
ZygBluetoothTool.cmdMsgHandle('错误:密码是空', {'cmdCode': cmd});
return [];
}
if (PASSWORD.length != 3) {
print('密码长度不对');
ZygBluetoothTool.cmdMsgHandle('错误:密码长度不对', {'cmdCode': cmd});
return [];
}
} else {
PASSWORD = [];
}
//有效数据
List<int> subData = [...snoList, NID, TYPE, ...PASSWORD];
return tempEncrypt(cmd, subData);
}