diff --git a/HDFwear/Home/Model/HealthModel.swift b/HDFwear/Home/Model/HealthModel.swift index 6a65ab1..86ff352 100644 --- a/HDFwear/Home/Model/HealthModel.swift +++ b/HDFwear/Home/Model/HealthModel.swift @@ -287,10 +287,14 @@ class HeartRateModel: Object { class func toHeartRateArray(_ bytes: [UInt8]) -> [HeartRateModel] { var hrArray: [HeartRateModel] = [] - let num = bytes.count/7 - for i in 0.. [UInt8] { - let contentLength = Int(bytes[10]) // 获取内容长度 - guard bytes.count >= 11 + contentLength else { + let contentLength = Int(bytes[9]) // 获取内容长度 + guard bytes.count >= 10 + contentLength else { return [] // 如果字节数组长度不足以包含内容,返回空数组 } - let content = Array(bytes[11..<(11 + contentLength)]) // 获取内容部分 + let content = Array(bytes[10..<(10 + contentLength)]) // 获取内容部分 return content } @@ -438,4 +441,15 @@ extension BluetoothManager { print("内容: \(info)") } } + + func parseHeartRateData (_ content: [UInt8]) { + guard content.count > 0 else { + print("无有效的信息") + heartRateClosure?([], nil) + return + } + let hrArray = HeartRateModel.toHeartRateArray(content) + HeartRateModel.addArray(hrArray)// 加入数据库 + heartRateClosure?(hrArray, nil) + } }