zhangzengfei
2024-10-20 5ddd4f4ba6aaf1fe52f93c0966315d0424bd2a5f
nvcs/osd.go
@@ -2,9 +2,8 @@
import (
   "encoding/xml"
   "fmt"
   "io/ioutil"
   "gat1400Exchange/pkg/logger"
   dac "github.com/xinsnake/go-http-digest-auth-client"
)
@@ -18,9 +17,9 @@
   cameraWebPassword      = "a1234567"
)
var overlayText textOverlay
var overlayText TextOverlay
type textOverlay struct {
type TextOverlay struct {
   Id               int64  `xml:"id"`
   Enabled          bool   `xml:"enabled"`
   PositionX        int64  `xml:"positionX"`
@@ -42,33 +41,32 @@
   return ioutil.ReadAll(resp.Body)
}
func addFloorToOSD(osdText string) {
func addFloorToOSD(osdText string) error {
   overlay7Url := cameraWebAddr + hikISAPIOverlay7SetUrl
   // 获取左下角第一个字符的位置
   if overlayText.DisplayText == "" {
      rsp, err := hikISAPIRequest(cameraWebUser, cameraWebPassword, "GET", overlay7Url, "")
      if err != nil {
         logger.Warn("Get osd info failure")
         return
         return fmt.Errorf("get osd info. %s", err.Error())
      }
      err = xml.Unmarshal(rsp, &overlayText)
      if err != nil {
         logger.Warn("%s", err.Error())
         return
         return fmt.Errorf("xml unmarshal. %s", err.Error())
      }
   }
   if overlayText.DisplayText == osdText {
      return
      return nil
   }
   overlayText.DisplayText = osdText
   body, _ := xml.Marshal(overlayText)
   _, err := hikISAPIRequest(cameraWebUser, cameraWebPassword, "PUT", overlay7Url, string(body))
   if err != nil {
      logger.Warn("Camera osd set failure!!")
      return
      return fmt.Errorf("set osd. %s", err.Error())
   }
   return nil
}