smartHttpClient.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package smartHub
  2. import (
  3. "fwh-toolbox-server/utils/httpClient"
  4. "net/http"
  5. "net/url"
  6. "time"
  7. )
  8. // API文档地址:https://apidoc-cn.smh.smarthing.com/
  9. const (
  10. mainUrl = "https://api.smh.smarthing.com/v1"
  11. timeout time.Duration = 30 * time.Second // SmartHub请求超时30s
  12. apiToken = "UzIyMDExNzA4NTE0NTc6MmYyNmFjY2I4ZmQ1NDFiZmE3ZTZkZWMyZjQ1YTQyMzQ="
  13. )
  14. var smartHttpClient = httpClient.HttpClient{}
  15. func smartHttpGet(url string, params *url.Values) (*httpClient.Response, error) {
  16. t := timeout
  17. opt := httpClient.HttpClientOptions{
  18. Timeout: &t,
  19. Header: &http.Header{
  20. "X-API-Key": {apiToken},
  21. "Accept": {"application/json", "text/plain", "*/*"},
  22. },
  23. }
  24. return smartHttpClient.HttpGet(mainUrl+url, params, &opt)
  25. }
  26. func smartHttpPost(url string, body any) (*httpClient.Response, error) {
  27. t := timeout
  28. opt := httpClient.HttpClientOptions{
  29. Timeout: &t,
  30. Header: &http.Header{
  31. "X-API-Key": {apiToken},
  32. "Accept": {"application/json", "text/plain", "*/*"},
  33. },
  34. }
  35. return smartHttpClient.HttpPost(mainUrl+url, body, &opt)
  36. }