isapi_event_channelCap.go 921 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package isapi
  2. import (
  3. "encoding/xml"
  4. "github.com/sirupsen/logrus"
  5. )
  6. type ChannelEventCapList struct {
  7. ChannelEventCap []ChannelEventCap `xml:"ChannelEventCap" json:"channelEventCap"`
  8. }
  9. type ChannelEventCap struct {
  10. EventType struct {
  11. Opt string `xml:"opt,attr" json:"opt"`
  12. } `xml:"eventType" json:"eventType"`
  13. ChannelID string `xml:"channelID" json:"channelID"`
  14. ID string `xml:"id" json:"ID"`
  15. }
  16. func (c *Client) GetAllChanEventCap() (resp ChannelEventCapList, err error) {
  17. bytes, err := c.CommonGet("/ISAPI/Event/channels/capabilities")
  18. if err != nil {
  19. logrus.Error("请求出错", err)
  20. return
  21. }
  22. err = xml.Unmarshal(bytes, &resp)
  23. return
  24. }
  25. func (c *Client) GetOneChanEventCap() (resp ChannelEventCap, err error) {
  26. bytes, err := c.CommonGet("/ISAPI/Event/channels/1/capabilities")
  27. if err != nil {
  28. logrus.Error("请求出错", err)
  29. return
  30. }
  31. err = xml.Unmarshal(bytes, &resp)
  32. return
  33. }