refactor: 重构 token 管理,新增 NATS adapter 和多示例
按照 TOKEN_REFACTOR.md / FIX_CONFIG.md 方案重构核心层: - miot: Init() 优先读 storage token,新增 RefreshAuthInfo() 和刷新回调 - xiaomi: Config 改用 AuthInfo 结构体(含 UUID/UID/DataDir/OnTokenRefreshed) - xiaomi: NewClient(ctx, Config) 新签名,新增 RefreshToken(),后台自动刷新 - xiaomi/devices: 设备控制接口重构 - 新增示例 12_ac_subscribe,其余示例适配新 Config
This commit is contained in:
@@ -22,10 +22,15 @@ func main() {
|
||||
}
|
||||
|
||||
client, err := xiaomi.NewClient(ctx, xiaomi.Config{
|
||||
ClientSecret: "",
|
||||
AccessToken: cfg.AuthInfo.AccessToken,
|
||||
UID: cfg.UID,
|
||||
UUID: cfg.UUID,
|
||||
AuthInfo: xiaomi.AuthInfo{
|
||||
AccessToken: cfg.AuthInfo.AccessToken,
|
||||
RefreshToken: cfg.AuthInfo.RefreshToken,
|
||||
ExpiresIn: cfg.AuthInfo.ExpiresIn,
|
||||
ExpiresTS: cfg.AuthInfo.ExpiresTS,
|
||||
},
|
||||
DataDir: "./data",
|
||||
UUID: cfg.UUID,
|
||||
UID: cfg.UID,
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
@@ -88,9 +93,10 @@ func main() {
|
||||
log.Printf("当前颜色: R=%d G=%d B=%d", r, g, b)
|
||||
}
|
||||
|
||||
subID, err := lt.OnStateChanged(func(state devices.LightState) {
|
||||
log.Printf("灯光状态变化: power=%v brightness=%d colorTemp=%dK rgb=[%d,%d,%d]",
|
||||
state.Power, state.Brightness, state.ColorTemp,
|
||||
subID, err := lt.OnStateChanged(func(state devices.LightState, changed string) {
|
||||
log.Printf("灯光状态变化: %s → on=%v brightness=%d colorTemp=%dK rgb=[%d,%d,%d]",
|
||||
changed,
|
||||
state.On, state.Brightness, state.ColorTemperature,
|
||||
state.ColorRGB[0], state.ColorRGB[1], state.ColorRGB[2])
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user