docs: clarify in-memory client contracts

This commit is contained in:
2026-07-22 21:01:03 +08:00
parent 8523b01231
commit 6957feacb6
2 changed files with 8 additions and 5 deletions
+2 -1
View File
@@ -117,7 +117,7 @@ _, err = client.RunActions(ctx, []mijia.ActionRequest{
## 高级 Device
`NewDevice` 可通过 `DeviceSelector.DID``DeviceSelector.Name` 选择设备;名称匹配到多个设备时会返回 `MultipleDevicesFoundError`。设备描述默认缓存到认证文件所在目录每次成功的 `Get``Set``RunAction` 后默认等待 `500ms`
`NewDevice` 可通过 `DeviceSelector.DID``DeviceSelector.Name` 选择设备;名称匹配到多个设备时会返回 `MultipleDevicesFoundError`通过文件认证的 `NewClient` 默认把设备描述缓存到认证文件所在目录`NewClientWithAuthData` 默认不启用缓存,调用方需要在创建 `Device` 时传入 `WithDeviceCacheDir` 才会缓存。每次成功的 `Get``Set``RunAction` 后默认等待 `500ms`
```go
device, err := mijia.NewDevice(ctx, client, mijia.DeviceSelector{DID: "设备 DID"})
@@ -149,6 +149,7 @@ device, err := mijia.NewDevice(
client,
mijia.DeviceSelector{Name: "客厅灯"},
mijia.WithDeviceDelay(0),
// 使用 NewClientWithAuthData 时,显式指定目录才能缓存设备描述。
mijia.WithDeviceCacheDir("./miot-cache"),
mijia.WithDeviceHTTPClient(http.DefaultClient),
)