From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 01 十二月 2022 09:56:25 +0800 Subject: [PATCH] 2022年12月01日09:56:23 --- ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs | 68 ++++++++++++++++----------------- 1 files changed, 33 insertions(+), 35 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs index 9057ab5..df2c8d6 100755 --- a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs @@ -1250,27 +1250,26 @@ var sbString = new System.Text.StringBuilder(); foreach (var userId in userIdList) { - string temp = Convert.ToString(userId, 16); - switch (temp.Length) + var tempBytes = new byte[2]; + for (int i = 0; i < 2; i++) { - case 1: - userIdStr = "0" + temp + "00"; - break; - case 2: - userIdStr = temp + "00"; - break; - case 3: - var thirdBit = temp.Substring(temp.Length - 2, 1); - userIdStr = temp + "0" + thirdBit; - break; - case 4: - userIdStr = temp; - break; + tempBytes[i] = (byte)(userId >> (i * 8) & 0xff); } - sbString.Append(userIdStr.ToString().ToUpper()); + var curV1 = Convert.ToString(tempBytes[0], 16); + var curV2 = Convert.ToString(tempBytes[1], 16); + if (curV1.Length == 1) + { + curV1 = "0" + curV1; + } + if (curV2.Length == 1) + { + curV2 = "0" + curV2; + } + + userIdStr = (curV1 + curV2).ToUpper(); } data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength + - delUserTypeStr + sbString; + delUserTypeStr + userIdStr; } catch { }; @@ -1307,28 +1306,27 @@ delUserTypeStr = "21"; break; } - var sbString = new System.Text.StringBuilder(); - string temp = Convert.ToString(userId, 16); - switch (temp.Length) + var tempBytes = new byte[2]; + for (int i = 0; i < 2; i++) { - case 1: - userIdStr = "0" + temp + "00"; - break; - case 2: - userIdStr = temp + "00"; - break; - case 3: - var thirdBit = temp.Substring(temp.Length - 2, 1); - userIdStr = temp + "0" + thirdBit; - break; - case 4: - userIdStr = temp; - break; + tempBytes[i] = (byte)(userId >> (i * 8) & 0xff); } - sbString.Append(userIdStr.ToString().ToUpper()); + var curV1 = Convert.ToString(tempBytes[0], 16); + var curV2 = Convert.ToString(tempBytes[1], 16); + if (curV1.Length == 1) + { + curV1 = "0" + curV1; + } + if (curV2.Length == 1) + { + curV2 = "0" + curV2; + } + + userIdStr = (curV1 + curV2).ToUpper(); + data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength + - delUserTypeStr + sbString; + delUserTypeStr + userIdStr; } catch { }; -- Gitblit v1.8.0