chenshijun
2019-10-23 f20171d23705742b5d0c8fa1d3ea1a47cadab9f1
gb28181Api.go
@@ -25,23 +25,24 @@
//SetPlatformServerInfo 设置服务器信息
func (api Gb28181Api) SetPlatformServerInfo(serverInfo GbServerInfo) bool {
   url := BASIC_URL + DATA_URL_PREFIX + "/set_platform_server"
   serverInfo.GbUsername = serverInfo.PublicID   //鉴权名字不生效,最好和设备id一致
   url := BASIC_URL + DATA_URL_PREFIX + "/set_platform_server?" +
      "gbsvrname=" + serverInfo.Name +
      "&gbsvrid=" + serverInfo.PublicID +
      "&gbsvrport=" + strconv.Itoa(serverInfo.GbServerPort) +
      "&registerauth=" + strconv.FormatBool(serverInfo.RegisterAuth) +
      "&gbusername=" + serverInfo.GbUsername +
      "&gbpasswd=" + serverInfo.GbPasswd
   log.Println("url:", url)
   client := NewClient()
   paramBody := make(map[string]string, 0)
   paramBody["gbsvrid"] = serverInfo.PublicID
   paramBody["gbsvrport"] = strconv.Itoa(serverInfo.GbServerPort)
   paramBody["gbsvrname"] = serverInfo.Name
   paramBody["rtspsvrport"] = strconv.Itoa(serverInfo.RtspServrPort)
   // fmt.Println("url:", url)
   body, err := client.DoGetRequest(url, paramBody, nil)
   body, err := client.DoGetRequest(url, nil, nil)
   if err != nil {
      return false
   }
   var res GbResult
   // fmt.Println("body", string(body))
   log.Println("body", string(body))
   if err = json.Unmarshal(body, &res); err != nil {
      log.Println("jsonErr:", err)
      return false
@@ -307,6 +308,7 @@
      }
   }
   log.Println("dmUnits:", dmUnits)
   return dmUnits, true
}
@@ -348,6 +350,7 @@
   api.getGroupsByGroupID(devID, &dmUnitAll)
   log.Println("dmUnitAll:", dmUnitAll)
   return dmUnitAll
}
@@ -404,8 +407,8 @@
   return cameraSlice, true
}
//UpdateResource 更新下级平台资源
func (api Gb28181Api) UpdateResource(devID string) bool {
//updateResourceByID 更新下级平台资源
func (api Gb28181Api) updateResourceByID(devID string) bool {
   url := BASIC_URL + "/vss/get_catalog/" + devID
   client := NewClient()
@@ -428,6 +431,15 @@
   return true
}
func (api Gb28181Api) UpdateAllResource() {
   devices, b := api.GetAllDevices()
   if b && len(devices) > 0 {
      for _, device := range devices {
         api.updateResourceByID(device.PublicID)
      }
   }
}
//SetCameraPtz 2.3 PTZ云台控制
//"channelid":  (字符串)   通道20位编号
//"ptztype":   (字符串) 控制类型:上"up",下"down",左"left",右"right",左上"leftup",左下"leftdown",右上"rightup",右下"rightdown",镜头近"zoomin",镜头远"zoomout",