From d559de190f01f09423837aa94d465e859d5b2cb6 Mon Sep 17 00:00:00 2001 From: daifengyi Date: Sat, 1 Jul 2023 13:29:07 +0800 Subject: [PATCH] feat:parse blood oxygen, temperature, pressure --- HDFwear/Home/Model/HealthModel.swift | 56 +++++++++++++++++++++++++++++--------------------------- HDFwear/Tools/BluetoothManager+Function.swift | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 27 deletions(-) diff --git a/HDFwear/Home/Model/HealthModel.swift b/HDFwear/Home/Model/HealthModel.swift index 86ff352..853e539 100644 --- a/HDFwear/Home/Model/HealthModel.swift +++ b/HDFwear/Home/Model/HealthModel.swift @@ -459,7 +459,6 @@ class HeartRateModel: Object { } //MARK: - 体温 -//jtd! class TemperatureModel: Object { @Persisted var value: Int = -1 @Persisted var date: Date? = nil @@ -471,14 +470,18 @@ class TemperatureModel: Object { } class func toTemperatureArray(_ bytes: [UInt8]) -> [TemperatureModel] { - var hrArray: [TemperatureModel] = [] - let num = bytes.count/7 - for i in 0.. [BloodOxygenModel] { var boArray: [BloodOxygenModel] = [] - let num = bytes.count/7 - for i in 0.. [PressureModel] { var pressureArray: [PressureModel] = [] - if Int(bytes[0]) == 0 && Int(bytes[1]) == 0 { - return [] - } - let date = DateInRegion(year: Int(bytes[0])+2000, month: Int(bytes[1]), day: Int(bytes[2]), hour: 0, minute: 0, second: 0).date - let pressureBytes: [UInt8] = Array(bytes[4.. 0 else { + print("无有效的信息") + bloodOxygenClosure?([], nil) + return + } + let array = BloodOxygenModel.toBloodOxygenArray(content) + BloodOxygenModel.addArray(array)// 加入数据库 + bloodOxygenClosure?(array, nil) + } + + func parseTemperaturData (_ content: [UInt8]) { + guard content.count > 0 else { + print("无有效的信息") + return + } + let array = TemperatureModel.toTemperatureArray(content) + TemperatureModel.addArray(array)// 加入数据库 + } + + func parsePressureData (_ content: [UInt8]) { + guard content.count > 0 else { + print("无有效的信息") + pressureClosure?([], nil) + return + } + let array = PressureModel.toPressureArray(content) + PressureModel.addArray(array)// 加入数据库 + pressureClosure?(array, nil) + } + } -- libgit2 0.21.4