Documentation ¶
Index ¶
- func HmacSha256(data, key string) string
- func Timestamp() string
- type Client
- func (c *Client) Do(r *http.Request) (res *http.Response, err error)
- func (c *Client) DoAndParse(r Request, resp interface{}) (err error)
- func (c *Client) Parse(res *http.Response, resp interface{}) error
- func (c *Client) PlainSign(timestamp string) string
- func (c *Client) Request(r Request) (req *http.Request, err error)
- func (c *Client) Token() (token string, err error)
- func (c *Client) TokenSign(token, timestamp string) string
- type Endpoint
- type Error
- type HTTPClient
- type MemoryStore
- type Option
- type Request
- type RequestBody
- type Response
- type TokenRequest
- type TokenResponse
- type TokenStorage
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client for tuya cloud.
Example ¶
package main import ( "github.com/go-log/log/log" "github.com/yunjuiot/tuyacloud" "github.com/yunjuiot/tuyacloud/user" ) func main() { client := tuyacloud.NewClient( tuyacloud.APIEndpointUS, "1KAD46OrT9HafiKdsXeg", "4OHBOnWOqaEC1mWXOpVL3yV50s0qGSRC", tuyacloud.WithLogger(log.New()), ) req := &user.QueryUserInfoRequest{ UID: "123456", } var info user.QueryUserInfoResponse err := client.DoAndParse(req, &info) if err != nil { panic(err) } // Blah Blah Blah... }
Output:
func (*Client) DoAndParse ¶
DoAndParse = Do + Parse.
type Endpoint ¶
type Endpoint string
Endpoint for API Call.
const ( // APIEndpointCN prefer to China. APIEndpointCN Endpoint = "https://openapi.tuyacn.com" // APIEndpointUS prefer to America. APIEndpointUS Endpoint = "https://openapi.tuyaus.com" // APIEndpointEU prefer to Europe. APIEndpointEU Endpoint = "https://openapi.tuyaeu.com" // APIEndpointIN prefer to India. APIEndpointIN Endpoint = "https://openapi.tuyain.com" )
type Error ¶
Error info.
Example ¶
package main import ( "errors" "fmt" "github.com/yunjuiot/tuyacloud" ) func main() { var ( client *tuyacloud.Client r tuyacloud.Request err error ) m := map[string]interface{}{} err = client.DoAndParse(r, &m) if err != nil { var apiErr tuyacloud.Error if errors.As(err, &apiErr) { fmt.Println(apiErr.Code, apiErr.Msg) } } }
Output:
type HTTPClient ¶
HTTPClient interface.
type MemoryStore ¶
type MemoryStore struct {
// contains filtered or unexported fields
}
MemoryStore storage.
type Option ¶
type Option func(o *options)
Option settings.
func WithMaxRetries ¶ added in v0.2.0
WithMaxRetries setup max retries. Disable retries when i == 0.
func WithTokenStore ¶
func WithTokenStore(s TokenStorage) Option
WithTokenStore setup token storage interface.
type Response ¶
type Response struct { Success bool `json:"success"` Code int `json:"code"` Msg string `json:"msg"` Timestamp int64 `json:"t"` Result json.RawMessage `json:"result"` }
Response body
type TokenRequest ¶
type TokenRequest struct {
// contains filtered or unexported fields
}
TokenRequest manages token refresh method.
func (*TokenRequest) SetRefresh ¶
func (t *TokenRequest) SetRefresh(token string)
SetRefresh refresh token.
func (*TokenRequest) URL ¶ added in v0.1.1
func (t *TokenRequest) URL() string
URL for Request.URL()
type TokenResponse ¶
type TokenResponse struct { ExpireTime int `json:"expire_time"` UID string `json:"uid"` AccessToken string `json:"access_token"` RefreshToken string `json:"refresh_token"` }
TokenResponse for token response from tuya server.
type TokenStorage ¶
TokenStorage stores token.
Directories ¶
Path | Synopsis |
---|---|
Package automation for scene automation.
|
Package automation for scene automation. |
catalog
|
|
bodyfat
Package bodyfat for Body Fat Scale
|
Package bodyfat for Body Fat Scale |
infrared
Package infrared for Universal Infrared
|
Package infrared for Universal Infrared |
ipc
Package ipc for IPC
|
Package ipc for IPC |
sleep
Package sleep for Sleep pace
|
Package sleep for Sleep pace |
smartlock
Package smartlock for Smart Door Lock interface.
|
Package smartlock for Smart Door Lock interface. |
Package data for Data Service.
|
Package data for Data Service. |
Package device implements Device Management API interface.
|
Package device implements Device Management API interface. |
Package devicectl for Device Control
|
Package devicectl for Device Control |
Package group for Device Group
|
Package group for Device Group |
Package ota for OTA upgrade.
|
Package ota for OTA upgrade. |
Package pairing for Device Pairing.
|
Package pairing for Device Pairing. |
Package smarthome for Smart Home Management
|
Package smarthome for Smart Home Management |
helpers
Package helpers is a generated GoMock package.
|
Package helpers is a generated GoMock package. |
Package timing for Device Timing Management
|
Package timing for Device Timing Management |
Package user for User Management
|
Package user for User Management |
Package weather for Weather Service.
|
Package weather for Weather Service. |
Click to show internal directories.
Click to hide internal directories.