fwh_realtimeAalrm.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package fwh_pro
  2. import (
  3. "io"
  4. "net/http"
  5. "net/url"
  6. "time"
  7. "go.uber.org/zap"
  8. )
  9. // 查询站点告警信息
  10. func QuerySiteAlarmList(sn string) ([]byte, error) {
  11. baseURL := "https://energy.franklinwh.com/hes-gateway/manage/getEquipmentAlarm"
  12. token := getLoginToken()
  13. // 构造 query 参数
  14. params := url.Values{}
  15. params.Add("gatewayId", sn)
  16. params.Add("land", "ZH_CN")
  17. // 拼接到 URL
  18. finalURL := baseURL + "?" + params.Encode()
  19. // 创建请求
  20. req, err := http.NewRequest(
  21. http.MethodGet,
  22. finalURL,
  23. nil)
  24. if err != nil {
  25. zap.L().Error("NewRequest failed.", zap.String("err", err.Error()))
  26. return nil, err
  27. }
  28. // 设置 Content-Type 和 Authorization
  29. req.Header.Set("Content-Type", "application/json")
  30. req.Header.Set("Logintoken", token)
  31. // 发送请求
  32. client := &http.Client{Timeout: 5 * time.Second}
  33. resp, err := client.Do(req)
  34. if err != nil {
  35. zap.L().Error("Do Send failed.", zap.String("err", err.Error()))
  36. return nil, err
  37. }
  38. defer resp.Body.Close()
  39. body, _ := io.ReadAll(resp.Body)
  40. // logger.Std.Printf("Status: %s\nBody: %s\n", resp.Status, body)
  41. return body, nil
  42. }