hikvision.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package service
  2. import (
  3. "city_chips/internal/repository"
  4. "github.com/spf13/viper"
  5. "github.com/zxbit2011/hikvisionOpenAPIGo"
  6. )
  7. type HikvisionService interface {
  8. Hikvision(url string, body map[string]string, timeout int) (hikvisionOpenAPIGo.Result, error)
  9. }
  10. func NewHikvisionService(service *Service, hikvisionRepository repository.HikvisionRepository, conf *viper.Viper) HikvisionService {
  11. return &hikvisionService{
  12. Service: service,
  13. hikvisionRepository: hikvisionRepository,
  14. conf: conf,
  15. }
  16. }
  17. type hikvisionService struct {
  18. *Service
  19. hikvisionRepository repository.HikvisionRepository
  20. conf *viper.Viper
  21. }
  22. // Hikvision 海康威视对接
  23. func (s *hikvisionService) Hikvision(url string, body map[string]string, timeout int) (hikvisionOpenAPIGo.Result, error) {
  24. config := hikvisionOpenAPIGo.HKConfig{
  25. Ip: s.conf.GetString("hikvision.Ip"),
  26. Port: s.conf.GetInt("hikvision.Port"),
  27. AppKey: s.conf.GetString("hikvision.AppKey"),
  28. Secret: s.conf.GetString("hikvision.Secret"),
  29. IsHttps: s.conf.GetBool("hikvision.IsHttps"),
  30. }
  31. result, err := config.HttpPost(url, body, timeout)
  32. return result, err
  33. }