feat(sdk): 重命名 owner→brand 并在硬绑前校验设备品牌

- DuooomiBleConfig.owner → brand(语义:设备品牌名),HTTP header x-owner 不变
- bind() 前置 verifyBrand:缺 deviceInfo 先 getDeviceInfo,与 config.brand 严格匹配,不一致主动断连并抛 .brandMismatch
- README 抹除软绑/对账/UpgradeRecord 等内部实现细节,仅保留厂商面向的公开 API(功能代码完全保留)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
km2023
2026-05-09 11:51:17 +08:00
parent d5729a1a41
commit 97e5b8359a
11 changed files with 81 additions and 109 deletions

View File

@@ -39,6 +39,7 @@ public enum DuooomiBleError: LocalizedError {
case permissionDenied
case unsupportedFormat(String)
case firmwareUpgradeUnavailable(String)
case brandMismatch(expected: String, actual: String)
public var errorDescription: String? {
switch self {
@@ -76,6 +77,8 @@ public enum DuooomiBleError: LocalizedError {
return "Unsupported file format: \(ext). Supported: jpeg, png, gif, mp4, webm, webp"
case .firmwareUpgradeUnavailable(let reason):
return "Firmware upgrade unavailable: \(reason)"
case .brandMismatch(let expected, let actual):
return "不支持该品牌设备 (expected=\(expected), actual=\(actual))"
}
}
}