refactor(logger): 日志改用 logrus 全局包级调用,移除 Logger 注入接口

为什么:并入宿主项目后须与宿主日志体系一致——宿主统一用 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)
This commit is contained in:
2026-09-15 20:16:26 +08:00
parent 7ae32bd012
commit 2b7de69403
46 changed files with 1166 additions and 903 deletions
+122 -122
View File
@@ -3,134 +3,134 @@ package miot
// MIoT 云端错误码
// 来源: https://iot.mi.com/v2/new/doc/help-support/faq/spec/error-code
const (
ErrCodeOK = -702000000 // OK
ErrCodeAccept = -702010000 // accept
ErrCodeProcessing = -702022036 // 操作正在处理中
ErrCodeBadRequest = -704000000 // 错误的请求
ErrCodeBadBody = -704000001 // 错误的请求体
ErrCodeScheduleOnlyMi = -704001000 // 定时只支持小米设备
ErrCodeDeviceError = -704002000 // 设备错误(通用)
ErrCodeUnauthenticated = -704010000 // 未认证
ErrCodeTokenExpired = -704012901 // token 不存在或过期
ErrCodeTokenInvalid = -704012902 // token 非法
ErrCodeAuthExpired = -704012903 // 授权过期
ErrCodeNotAuthToXiaoAi = -704012904 // 设备未授权控制能力给小爱
ErrCodeDeviceUnbound = -704012905 // 设备未绑定
ErrCodeAuthFailed = -704012906 // 认证失败
ErrCodeIRNotSupported = -704013101 // 红外设备不支持此操作
ErrCodePropertyNotRead = -704030013 // 属性不可读
ErrCodePropertyNotWrite = -704030023 // 属性不可写
ErrCodePropertyNotNotify = -704030033 // 属性不可上报
ErrCodeTooFrequent = -704030992 // 请求过于频繁
ErrCodeServiceNotFound = -704040002 // 服务不存在
ErrCodePropertyNotFound = -704040003 // 属性不存在
ErrCodeEventNotFound = -704040004 // 事件不存在
ErrCodeMethodNotFound = -704040005 // 方法不存在
ErrCodeFeatureOffline = -704040999 // 功能未上线
ErrCodeCloudNotFound = -704041007 // cloud not found
ErrCodeDeviceNotFound2 = -704042001 // 未找到设备
ErrCodeSceneNotFound = -704042009 // 未找到场景
ErrCodeSceneError = -704042010 // 触发场景异常
ErrCodeDeviceOffline = -704042011 // 设备离线
ErrCodeSceneNoPermission = -704042012 // 场景无权限
ErrCodeSpecNotFound = -704044006 // 未找到功能定义
ErrCodeCannotExecute = -704053100 // 无法执行此操作
ErrCodeCameraSleeping = -704053101 // 摄像机休眠中
ErrCodeTimeout = -704083036 // 操作超时
ErrCodeDeviceNotFound = -704090001 // 未找到设备
ErrCodeInvalidID = -704220008 // 非法的 ID
ErrCodeInvalidUID = -704220009 // 非法的 uid
ErrCodeInvalidSubID = -704220010 // 非法的订阅 ID
ErrCodeActionParamCount = -704220025 // 方法输入参数数量不匹配
ErrCodeActionParamError = -704220035 // 方法输入参数错误
ErrCodeInvalidPropValue = -704220043 // 属性值不正确
ErrCodeEventParamCount = -704222034 // 事件参数数量不匹配
ErrCodeActionOutParamError = -704222035 // 方法输出参数错误
ErrCodeOpenPlatformError = -705001000 // 开放平台服务器内部错误
ErrCodeSpecServerError = -705004000 // MIoT Spec 服务器内部错误
ErrCodeSubIDEncodeError = -705005000 // 订阅 ID 编码错误
ErrCodeNotifyError = -705006000 // notify error
ErrCodeReadPropFailed = -705201013 // 读属性失败
ErrCodeActionFailed = -705201015 // 方法执行失败
ErrCodeWritePropFailed = -705201023 // 写属性失败
ErrCodeReportPropFailed = -705201033 // 上报属性失败
ErrCodeInvalidSpec = -705204006 // 非法的功能定义
ErrCodeInstanceNotLoaded = -705204007 // 实例未加载
ErrCodeRemoteServiceError = -706010002 // 远程服务异常
ErrCodeMIoTError = -706010004 // MIoT 错误
ErrCodePropCacheFailed = -706010005 // 属性缓存失败
ErrCodeThirdPartyError = -706012000 // 三方云服务器内部错误
ErrCodeThirdReadPropFailed = -706012013 // 三方云读属性失败
ErrCodeThirdActionFailed = -706012015 // 三方云方法执行失败
ErrCodeThirdWritePropFailed = -706012023 // 三方云写属性失败
ErrCodeOK = -702000000 // OK
ErrCodeAccept = -702010000 // accept
ErrCodeProcessing = -702022036 // 操作正在处理中
ErrCodeBadRequest = -704000000 // 错误的请求
ErrCodeBadBody = -704000001 // 错误的请求体
ErrCodeScheduleOnlyMi = -704001000 // 定时只支持小米设备
ErrCodeDeviceError = -704002000 // 设备错误(通用)
ErrCodeUnauthenticated = -704010000 // 未认证
ErrCodeTokenExpired = -704012901 // token 不存在或过期
ErrCodeTokenInvalid = -704012902 // token 非法
ErrCodeAuthExpired = -704012903 // 授权过期
ErrCodeNotAuthToXiaoAi = -704012904 // 设备未授权控制能力给小爱
ErrCodeDeviceUnbound = -704012905 // 设备未绑定
ErrCodeAuthFailed = -704012906 // 认证失败
ErrCodeIRNotSupported = -704013101 // 红外设备不支持此操作
ErrCodePropertyNotRead = -704030013 // 属性不可读
ErrCodePropertyNotWrite = -704030023 // 属性不可写
ErrCodePropertyNotNotify = -704030033 // 属性不可上报
ErrCodeTooFrequent = -704030992 // 请求过于频繁
ErrCodeServiceNotFound = -704040002 // 服务不存在
ErrCodePropertyNotFound = -704040003 // 属性不存在
ErrCodeEventNotFound = -704040004 // 事件不存在
ErrCodeMethodNotFound = -704040005 // 方法不存在
ErrCodeFeatureOffline = -704040999 // 功能未上线
ErrCodeCloudNotFound = -704041007 // cloud not found
ErrCodeDeviceNotFound2 = -704042001 // 未找到设备
ErrCodeSceneNotFound = -704042009 // 未找到场景
ErrCodeSceneError = -704042010 // 触发场景异常
ErrCodeDeviceOffline = -704042011 // 设备离线
ErrCodeSceneNoPermission = -704042012 // 场景无权限
ErrCodeSpecNotFound = -704044006 // 未找到功能定义
ErrCodeCannotExecute = -704053100 // 无法执行此操作
ErrCodeCameraSleeping = -704053101 // 摄像机休眠中
ErrCodeTimeout = -704083036 // 操作超时
ErrCodeDeviceNotFound = -704090001 // 未找到设备
ErrCodeInvalidID = -704220008 // 非法的 ID
ErrCodeInvalidUID = -704220009 // 非法的 uid
ErrCodeInvalidSubID = -704220010 // 非法的订阅 ID
ErrCodeActionParamCount = -704220025 // 方法输入参数数量不匹配
ErrCodeActionParamError = -704220035 // 方法输入参数错误
ErrCodeInvalidPropValue = -704220043 // 属性值不正确
ErrCodeEventParamCount = -704222034 // 事件参数数量不匹配
ErrCodeActionOutParamError = -704222035 // 方法输出参数错误
ErrCodeOpenPlatformError = -705001000 // 开放平台服务器内部错误
ErrCodeSpecServerError = -705004000 // MIoT Spec 服务器内部错误
ErrCodeSubIDEncodeError = -705005000 // 订阅 ID 编码错误
ErrCodeNotifyError = -705006000 // notify error
ErrCodeReadPropFailed = -705201013 // 读属性失败
ErrCodeActionFailed = -705201015 // 方法执行失败
ErrCodeWritePropFailed = -705201023 // 写属性失败
ErrCodeReportPropFailed = -705201033 // 上报属性失败
ErrCodeInvalidSpec = -705204006 // 非法的功能定义
ErrCodeInstanceNotLoaded = -705204007 // 实例未加载
ErrCodeRemoteServiceError = -706010002 // 远程服务异常
ErrCodeMIoTError = -706010004 // MIoT 错误
ErrCodePropCacheFailed = -706010005 // 属性缓存失败
ErrCodeThirdPartyError = -706012000 // 三方云服务器内部错误
ErrCodeThirdReadPropFailed = -706012013 // 三方云读属性失败
ErrCodeThirdActionFailed = -706012015 // 三方云方法执行失败
ErrCodeThirdWritePropFailed = -706012023 // 三方云写属性失败
ErrCodeThirdReportPropFailed = -706012033 // 三方云上报属性失败
ErrCodeThirdSubFailed = -706012043 // 三方云订阅失败
ErrCodeThirdSubFailed = -706012043 // 三方云订阅失败
)
// errDescriptions 错误码说明
var errDescriptions = map[int]string{
ErrCodeOK: "OK",
ErrCodeAccept: "accept",
ErrCodeProcessing: "操作正在处理中",
ErrCodeBadRequest: "错误的请求",
ErrCodeBadBody: "错误的请求体",
ErrCodeScheduleOnlyMi: "定时只支持小米设备",
ErrCodeDeviceError: "设备错误(通用)",
ErrCodeUnauthenticated: "未认证",
ErrCodeTokenExpired: "token 不存在或过期",
ErrCodeTokenInvalid: "token 非法",
ErrCodeAuthExpired: "授权过期",
ErrCodeNotAuthToXiaoAi: "设备未授权控制能力给小爱",
ErrCodeDeviceUnbound: "设备未绑定",
ErrCodeAuthFailed: "认证失败",
ErrCodeIRNotSupported: "红外设备不支持此操作",
ErrCodePropertyNotRead: "属性不可读",
ErrCodePropertyNotWrite: "属性不可写",
ErrCodePropertyNotNotify: "属性不可上报",
ErrCodeTooFrequent: "请求过于频繁",
ErrCodeServiceNotFound: "服务不存在",
ErrCodePropertyNotFound: "属性不存在",
ErrCodeEventNotFound: "事件不存在",
ErrCodeMethodNotFound: "方法不存在",
ErrCodeFeatureOffline: "功能未上线",
ErrCodeCloudNotFound: "cloud not found",
ErrCodeDeviceNotFound2: "未找到设备",
ErrCodeSceneNotFound: "未找到场景",
ErrCodeSceneError: "触发场景异常",
ErrCodeDeviceOffline: "设备离线",
ErrCodeSceneNoPermission: "场景无权限",
ErrCodeSpecNotFound: "未找到功能定义",
ErrCodeCannotExecute: "无法执行此操作",
ErrCodeCameraSleeping: "摄像机休眠中",
ErrCodeTimeout: "操作超时",
ErrCodeDeviceNotFound: "未找到设备",
ErrCodeInvalidID: "非法的 ID",
ErrCodeInvalidUID: "非法的 uid",
ErrCodeInvalidSubID: "非法的订阅 ID",
ErrCodeActionParamCount: "方法输入参数数量不匹配",
ErrCodeActionParamError: "方法输入参数错误",
ErrCodeInvalidPropValue: "属性值不正确",
ErrCodeEventParamCount: "事件参数数量不匹配",
ErrCodeActionOutParamError: "方法输出参数错误",
ErrCodeOpenPlatformError: "开放平台服务器内部错误",
ErrCodeSpecServerError: "MIoT Spec 服务器内部错误",
ErrCodeSubIDEncodeError: "订阅 ID 编码错误",
ErrCodeNotifyError: "notify error",
ErrCodeReadPropFailed: "读属性失败",
ErrCodeActionFailed: "方法执行失败",
ErrCodeWritePropFailed: "写属性失败",
ErrCodeReportPropFailed: "上报属性失败",
ErrCodeInvalidSpec: "非法的功能定义",
ErrCodeInstanceNotLoaded: "实例未加载",
ErrCodeRemoteServiceError: "远程服务异常",
ErrCodeMIoTError: "MIoT 错误",
ErrCodePropCacheFailed: "属性缓存失败",
ErrCodeThirdPartyError: "三方云服务器内部错误",
ErrCodeThirdReadPropFailed: "三方云读属性失败",
ErrCodeThirdActionFailed: "三方云方法执行失败",
ErrCodeThirdWritePropFailed: "三方云写属性失败",
ErrCodeOK: "OK",
ErrCodeAccept: "accept",
ErrCodeProcessing: "操作正在处理中",
ErrCodeBadRequest: "错误的请求",
ErrCodeBadBody: "错误的请求体",
ErrCodeScheduleOnlyMi: "定时只支持小米设备",
ErrCodeDeviceError: "设备错误(通用)",
ErrCodeUnauthenticated: "未认证",
ErrCodeTokenExpired: "token 不存在或过期",
ErrCodeTokenInvalid: "token 非法",
ErrCodeAuthExpired: "授权过期",
ErrCodeNotAuthToXiaoAi: "设备未授权控制能力给小爱",
ErrCodeDeviceUnbound: "设备未绑定",
ErrCodeAuthFailed: "认证失败",
ErrCodeIRNotSupported: "红外设备不支持此操作",
ErrCodePropertyNotRead: "属性不可读",
ErrCodePropertyNotWrite: "属性不可写",
ErrCodePropertyNotNotify: "属性不可上报",
ErrCodeTooFrequent: "请求过于频繁",
ErrCodeServiceNotFound: "服务不存在",
ErrCodePropertyNotFound: "属性不存在",
ErrCodeEventNotFound: "事件不存在",
ErrCodeMethodNotFound: "方法不存在",
ErrCodeFeatureOffline: "功能未上线",
ErrCodeCloudNotFound: "cloud not found",
ErrCodeDeviceNotFound2: "未找到设备",
ErrCodeSceneNotFound: "未找到场景",
ErrCodeSceneError: "触发场景异常",
ErrCodeDeviceOffline: "设备离线",
ErrCodeSceneNoPermission: "场景无权限",
ErrCodeSpecNotFound: "未找到功能定义",
ErrCodeCannotExecute: "无法执行此操作",
ErrCodeCameraSleeping: "摄像机休眠中",
ErrCodeTimeout: "操作超时",
ErrCodeDeviceNotFound: "未找到设备",
ErrCodeInvalidID: "非法的 ID",
ErrCodeInvalidUID: "非法的 uid",
ErrCodeInvalidSubID: "非法的订阅 ID",
ErrCodeActionParamCount: "方法输入参数数量不匹配",
ErrCodeActionParamError: "方法输入参数错误",
ErrCodeInvalidPropValue: "属性值不正确",
ErrCodeEventParamCount: "事件参数数量不匹配",
ErrCodeActionOutParamError: "方法输出参数错误",
ErrCodeOpenPlatformError: "开放平台服务器内部错误",
ErrCodeSpecServerError: "MIoT Spec 服务器内部错误",
ErrCodeSubIDEncodeError: "订阅 ID 编码错误",
ErrCodeNotifyError: "notify error",
ErrCodeReadPropFailed: "读属性失败",
ErrCodeActionFailed: "方法执行失败",
ErrCodeWritePropFailed: "写属性失败",
ErrCodeReportPropFailed: "上报属性失败",
ErrCodeInvalidSpec: "非法的功能定义",
ErrCodeInstanceNotLoaded: "实例未加载",
ErrCodeRemoteServiceError: "远程服务异常",
ErrCodeMIoTError: "MIoT 错误",
ErrCodePropCacheFailed: "属性缓存失败",
ErrCodeThirdPartyError: "三方云服务器内部错误",
ErrCodeThirdReadPropFailed: "三方云读属性失败",
ErrCodeThirdActionFailed: "三方云方法执行失败",
ErrCodeThirdWritePropFailed: "三方云写属性失败",
ErrCodeThirdReportPropFailed: "三方云上报属性失败",
ErrCodeThirdSubFailed: "三方云订阅失败",
ErrCodeThirdSubFailed: "三方云订阅失败",
}
// ErrDesc 返回错误码的中文说明。