|
@@ -5,6 +5,7 @@ import (
|
|
|
"city_chips/internal/repository"
|
|
|
"encoding/json"
|
|
|
"errors"
|
|
|
+
|
|
|
"github.com/spf13/viper"
|
|
|
"github.com/zxbit2011/hikvisionOpenAPIGo"
|
|
|
)
|
|
@@ -64,3 +65,52 @@ func (s *hikvisionService) DeviceResource(Device string) (error, model.DeviceRes
|
|
|
}
|
|
|
return nil, deviceResource
|
|
|
}
|
|
|
+
|
|
|
+// GetRegionsRoot 获取根目录资源信息
|
|
|
+func (s *hikvisionService) GetRegionsRoot(Device string) (error, model.RegionsRoot) {
|
|
|
+ var regionsRoot model.RegionsRoot
|
|
|
+ hikvision, err := s.Hikvision(s.conf.GetString("hikvision.api.regionsRoot"), nil, 15)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("获取根目录资源失败"), regionsRoot
|
|
|
+ }
|
|
|
+ if hikvision.Code != "0" {
|
|
|
+ return errors.New("获取根目录资源失败"), regionsRoot
|
|
|
+ }
|
|
|
+ marshalString, err := json.Marshal(hikvision)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("json序列化失败"), regionsRoot
|
|
|
+ }
|
|
|
+ err = json.Unmarshal(marshalString, ®ionsRoot)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("json反序列化失败"), regionsRoot
|
|
|
+ }
|
|
|
+ return nil, regionsRoot
|
|
|
+}
|
|
|
+
|
|
|
+// GetRegionsSubRegions 获取子目录资源信息
|
|
|
+func (s *hikvisionService) GetRegionsSubRegions(Device string) (error, model.RegionsSubRegions) {
|
|
|
+ var regionsSubRegions model.RegionsSubRegions
|
|
|
+ m := make(map[string]string)
|
|
|
+ m["pageNo"] = "1"
|
|
|
+ m["pageSize"] = s.conf.GetString("hikvision.pageSize")
|
|
|
+ m["parentIndexCode"] = "0"
|
|
|
+ m["resourceType"] = "0"
|
|
|
+ m["cascadeFlag"] = "0"
|
|
|
+
|
|
|
+ hikvision, err := s.Hikvision(s.conf.GetString("hikvision.api.regionsSubRegions"), m, 15)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("获取子目录资源信息失败"), regionsSubRegions
|
|
|
+ }
|
|
|
+ if hikvision.Code != "0" {
|
|
|
+ return errors.New("获取子目录资源信息失败"), regionsSubRegions
|
|
|
+ }
|
|
|
+ marshalString, err := json.Marshal(hikvision)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("json序列化失败"), regionsSubRegions
|
|
|
+ }
|
|
|
+ err = json.Unmarshal(marshalString, ®ionsSubRegions)
|
|
|
+ if err != nil {
|
|
|
+ return errors.New("json反序列化失败"), regionsSubRegions
|
|
|
+ }
|
|
|
+ return nil, regionsSubRegions
|
|
|
+}
|