smartHttpClient.go 1.0 KB

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