feat:sdk 增加判断是否有新固件可用
This commit is contained in:
@@ -385,6 +385,21 @@ public final class DuooomiBleSDK: ObservableObject {
|
||||
return try await firmwareService.fetchLatest(identifier: identifier, status: status)
|
||||
}
|
||||
|
||||
/// 比较设备版本和服务端版本,判断是否有新固件可用。
|
||||
/// 对比规则:取版本号末尾 10 位时间戳比较大小。
|
||||
/// - Parameters:
|
||||
/// - deviceVersion: 当前设备版本号。
|
||||
/// - serverVersion: 服务端最新版本号。
|
||||
/// - Returns: 服务端版本更新返回 true,参数无效返回 false。
|
||||
public func hasNewerFirmware(deviceVersion: String?, serverVersion: String?) -> Bool {
|
||||
guard let device = deviceVersion, let server = serverVersion,
|
||||
device.count >= 10, server.count >= 10 else { return false }
|
||||
let deviceTs = device.suffix(10)
|
||||
let serverTs = server.suffix(10)
|
||||
guard let d = Int(deviceTs), let s = Int(serverTs) else { return false }
|
||||
return s > d
|
||||
}
|
||||
|
||||
/// 传输固件包到设备(OTA 升级)。
|
||||
/// - Parameter fileUrl: 固件文件的下载地址(从 `fetchLatestFirmware()` 获取)。
|
||||
/// - Throws: 未连接、下载失败、传输失败等。
|
||||
|
||||
Reference in New Issue
Block a user