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:
@@ -6,8 +6,8 @@ public struct DuooomiBleConfig {
|
||||
public let apiHost: URL
|
||||
/// API 鉴权 key(Loomart x-api-key)
|
||||
public let apiKey: String
|
||||
/// 多租户 owner 标识,所有 RPC 必带 `x-owner` header
|
||||
public let owner: String
|
||||
/// 设备品牌名(所有 RPC 必带 `x-owner` header)
|
||||
public let brand: String
|
||||
/// CDN 资源地址(末尾带 `/`)
|
||||
public let cdnHost: String
|
||||
/// ANI 转换宽度(像素)
|
||||
@@ -22,7 +22,7 @@ public struct DuooomiBleConfig {
|
||||
public init(
|
||||
apiHost: URL = URL(string: "https://api.duooomi.com")!,
|
||||
apiKey: String,
|
||||
owner: String,
|
||||
brand: String,
|
||||
cdnHost: String = "https://cdn.bowong.cc/",
|
||||
aniWidth: Int = 360,
|
||||
aniHeight: Int = 360,
|
||||
@@ -31,7 +31,7 @@ public struct DuooomiBleConfig {
|
||||
) {
|
||||
self.apiHost = apiHost
|
||||
self.apiKey = apiKey
|
||||
self.owner = owner
|
||||
self.brand = brand
|
||||
self.cdnHost = cdnHost.hasSuffix("/") ? cdnHost : cdnHost + "/"
|
||||
self.aniWidth = aniWidth
|
||||
self.aniHeight = aniHeight
|
||||
|
||||
Reference in New Issue
Block a user