| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- package fwh_pro
- import (
- "fmt"
- "io"
- "net/http"
- "net/url"
- "strconv"
- "time"
- )
- // 查询事件事件日志
- func queryEventAndAlarmLog(sn string, params url.Values) ([]byte, error) {
- baseURL := "https://energy.franklinwh.com/hes-gateway/manage/iotDeviceRunLogs"
- token := getLoginToken()
- userId, _ := getUserId(token)
- // 构造 query 参数
- params.Add("userId", strconv.Itoa(userId))
- params.Add("searchName", sn)
- params.Add("timeType", strconv.Itoa(1)) // 0-通讯时间;1-设备时间
- params.Add("pageSize", strconv.FormatUint(REQ_PAGE_SIZE, 10))
- params.Add("pageNum", strconv.Itoa(1))
- params.Add("land", "ZH_CN")
- // 拼接到 URL
- finalURL := baseURL + "?" + params.Encode()
- // 创建请求
- req, err := http.NewRequest(
- http.MethodGet,
- finalURL,
- nil)
- if err != nil {
- fmt.Println(err.Error())
- return nil, err
- }
- // 设置 Content-Type 和 Authorization
- req.Header.Set("Content-Type", "application/json")
- req.Header.Set("Logintoken", token)
- // 发送请求
- client := &http.Client{Timeout: 5 * time.Second}
- resp, err := client.Do(req)
- if err != nil {
- fmt.Println(err.Error())
- return nil, err
- }
- defer resp.Body.Close()
- body, _ := io.ReadAll(resp.Body)
- // fmt.Printf("Status: %s\nBody: %s\n", resp.Status, body)
- return body, nil
- }
- // 查询快照信息
- // logTime 格式 YYYY-MM-DD
- func QueryAlarmSnapshotInfo(sn, logTime string, page int) ([]byte, error) {
- baseURL := "https://energy.franklinwh.com/hes-gateway/manage/selectAlarmSnapshotList"
- token := getLoginToken()
- // 构造 query 参数
- params := url.Values{}
- params.Add("logTime", logTime)
- params.Add("linkId", sn)
- params.Add("pageSize", strconv.FormatUint(REQ_PAGE_SIZE, 10))
- params.Add("pageNum", strconv.Itoa(page))
- params.Add("land", "ZH_CN")
- // 拼接到 URL
- finalURL := baseURL + "?" + params.Encode()
- // 创建请求
- req, err := http.NewRequest(
- http.MethodGet,
- finalURL,
- nil)
- if err != nil {
- fmt.Println(err.Error())
- return nil, err
- }
- // 设置 Content-Type 和 Authorization
- req.Header.Set("Content-Type", "application/json")
- req.Header.Set("Logintoken", token)
- // fmt.Println(req.Header)
- // 发送请求
- client := &http.Client{Timeout: 5 * time.Second}
- resp, err := client.Do(req)
- if err != nil {
- fmt.Println(err.Error())
- return nil, err
- }
- defer resp.Body.Close()
- body, _ := io.ReadAll(resp.Body)
- // fmt.Printf("Status: %s\nBody: %s\n", resp.Status, body)
- return body, nil
- }
- // 查询所有事件告警
- // startTime&endTime 格式 YYYY-MM-DD HH:mm:SS
- func QueryAllEventAlarm(sn, startTime, endTime string) ([]byte, error) {
- // 构造 query 参数
- params := url.Values{}
- params.Add("startTime", startTime)
- params.Add("endTime", endTime)
- return queryEventAndAlarmLog(sn, params)
- }
- // 查询事件日志
- // startTime&endTime 格式 YYYY-MM-DD HH:mm:SS
- func QueryEventLog(sn, startTime, endTime string) ([]byte, error) {
- // 构造 query 参数
- params := url.Values{}
- params.Add("logType", strconv.Itoa(0))
- params.Add("startTime", startTime)
- params.Add("endTime", endTime)
- return queryEventAndAlarmLog(sn, params)
- }
- // 查询告警日志
- // startTime&endTime 格式 YYYY-MM-DD HH:mm:SS
- // alarmCode - 支持多个code,用‘,’隔开,“”代表查询所有
- func QueryAlarmLog(sn, startTime, endTime, alarmCode string) ([]byte, error) {
- // 构造 query 参数
- params := url.Values{}
- params.Add("logType", strconv.Itoa(1))
- params.Add("alarmCode", alarmCode)
- params.Add("startTime", startTime)
- params.Add("endTime", endTime)
- return queryEventAndAlarmLog(sn, params)
- }
- // 查询实时告警
- func QueryRealtimeAlarm(sn string) ([]byte, error) {
- // 构造 query 参数
- params := url.Values{}
- params.Add("logType", strconv.Itoa(2))
- return queryEventAndAlarmLog(sn, params)
- }
|