为什么:并入宿主项目后须与宿主日志体系一致——宿主统一用 pkg/logger 初始化 logrus 全局实例并直接 logrus.Xxx 包级调用;包一层 Logger 接口会让 logrus 的 caller 定位(报告调用文件:行号)失准。 改动: - 删除 logger 包(Logger 接口 / Default / SetDefault,默认本就是 logrus.StandardLogger) - 11 个结构体移除 lgr logger.Logger 字段、SetLogger 方法及构造中的 lgr 初始化 - 192 处 lgr.Xxxf 调用改为 logrus.Xxxf,日志消息文本保持不变 - xiaomi.Client 移除 Logger() 访问器,air_conditioner 回读日志去掉判空调用直连 logrus - miot_i18n.go 两处标准库 log.Printf 改为 logrus.Errorf,统一日志出口 - go.mod:logrus 从 indirect 提升为直接依赖 - goimports/goformat 全树规范化:此前部分文件未 gofmt(单行 if、对齐),本次顺带 格式化,纯空白/换行变化,无逻辑改动 验证:go build / go vet / go test ./... 全部通过(bridge、miot、xiaomi、devices、specs)
28 lines
1.1 KiB
Go
28 lines
1.1 KiB
Go
package xiaomi
|
||
|
||
// AuthInfo OAuth token 信息。
|
||
type AuthInfo struct {
|
||
AccessToken string `json:"access_token"`
|
||
RefreshToken string `json:"refresh_token"`
|
||
ExpiresIn int32 `json:"expires_in"` // 有效期(秒)
|
||
ExpiresTS int64 `json:"expires_ts"` // 过期时间戳(unix),0 则内部按 expires_in 计算
|
||
}
|
||
|
||
// Config 客户端初始化配置。
|
||
type Config struct {
|
||
AuthInfo AuthInfo // OAuth token 信息
|
||
UUID string // MIPS 设备标识,OAuth 前生成,永久不可变
|
||
UID string // 小米帐号 UID,OAuth 后从 API 获取
|
||
DataDir string // 存储根路径(token/设备/SPEC 缓存),多用户场景每个用户用不同目录,如 ./data/{uid}
|
||
|
||
RedirectURL string // OAuth 授权回调 URL
|
||
|
||
HomeIDs []int64 // 需要管理的家庭 ID 列表,nil/空=全部
|
||
|
||
// ReadbackModels 需要"set 成功后回读状态"的设备型号列表。
|
||
// 用于设备固件不广播云端指令的场景(如部分 BLE/Mesh 设备):
|
||
// 控制成功后 SDK 防抖延迟回读真实状态,并通过 OnPropsChanged 送达业务层。
|
||
// 留空 = 所有设备都不做回读(默认)。
|
||
ReadbackModels []string
|
||
}
|