package service import ( "city_chips/internal/repository" "github.com/spf13/viper" "github.com/zxbit2011/hikvisionOpenAPIGo" ) type HikvisionService interface { Hikvision(url string, body map[string]string, timeout int) (hikvisionOpenAPIGo.Result, error) } func NewHikvisionService(service *Service, hikvisionRepository repository.HikvisionRepository, conf *viper.Viper) HikvisionService { return &hikvisionService{ Service: service, hikvisionRepository: hikvisionRepository, conf: conf, } } type hikvisionService struct { *Service hikvisionRepository repository.HikvisionRepository conf *viper.Viper } // Hikvision 海康威视对接 func (s *hikvisionService) Hikvision(url string, body map[string]string, timeout int) (hikvisionOpenAPIGo.Result, error) { config := hikvisionOpenAPIGo.HKConfig{ Ip: s.conf.GetString("hikvision.Ip"), Port: s.conf.GetInt("hikvision.Port"), AppKey: s.conf.GetString("hikvision.AppKey"), Secret: s.conf.GetString("hikvision.Secret"), IsHttps: s.conf.GetBool("hikvision.IsHttps"), } result, err := config.HttpPost(url, body, timeout) return result, err }