From da03a0c81743cd5701fa508868f824d27137cd4e Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 25 十月 2019 18:48:50 +0800
Subject: [PATCH] add func

---
 areaApi.go |  172 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 153 insertions(+), 19 deletions(-)

diff --git a/areaApi.go b/areaApi.go
index dee1b49..64fb84a 100644
--- a/areaApi.go
+++ b/areaApi.go
@@ -3,44 +3,178 @@
 import (
 	"encoding/json"
 	"fmt"
-	"net/http"
-	"strings"
+	"strconv"
 )
 
 type AreaApi struct {
+	Ip string
+	Port int
 }
 
-//鏌ヨ鏈湴鎽勫儚鏈烘爲
-func (api AreaApi) GetLocalCameraTree(parentId int) []TreeMenu {
+func (api AreaApi) getBasicUrl() string {
+	if api.Ip == "" {
+		return BASIC_URL
+	}
+	if api.Ip == "" {
+		api.Ip = DEFAULT_IP
+	}
+	if api.Port == 0 {
+		api.Port = DEFAULT_PORT
+	}
+	return "http://"+api.Ip+":"+strconv.Itoa(api.Port)
+}
+
+//parentId 瑕佹煡瀵荤殑鐩綍鏍戠殑鏍硅妭鐐筰d
+//searchType(0:鍏ㄩ儴锛�1:鍒嗘瀽鎽勫儚鏈�,2:鐩戞帶鎽勫儚鏈�)
+//cameraName锛堟憚鍍忔満鍚嶇О锛�
+func (api AreaApi) GetLocalCameraTree(parentId string, searchType string, cameraName string) []TreeMenu {
 	var result []TreeMenu
 
-	url := BASIC_URL + "/data/api-v/area/localmenu"
-	request, err := http.NewRequest("GET", url, strings.NewReader(string(parentId)))
-	if err != nil {
-		return result
-	}
+	client := NewClient()
 
-	body, err := DoRequest(request, "application/json")
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/area/localmenu"
+	params := make(map[string]string, 0)
+	params["parentId"] = parentId
+	params["searchType"] = searchType
+	params["cameraName"] = cameraName
+
+	respBody, err := client.DoGetRequest(url, params, nil)
 	if err != nil {
-		return result
+		return nil
 	}
 
 	var res Result
-	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println(err)
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		return nil
 	}
 
 	bytes, _ := json.Marshal(res.Data)
-	err = json.Unmarshal(bytes, &result)
-	if err != nil {
-		fmt.Println(err)
+	if err = json.Unmarshal(bytes, &result);err !=nil{
+		return nil
 	}
 	return result
 }
 
-//娣诲姞鐩綍鑺傜偣
-func (api AreaApi) AreaAdd(area Area) bool {
-	flag := false
+//parentId 瑕佹煡瀵荤殑鐩綍鏍戠殑鏍硅妭鐐筰d
+//searchType(0:鍏ㄩ儴锛�1:鍒嗘瀽鎽勫儚鏈�,2:鐩戞帶鎽勫儚鏈�)
+//cameraName锛堟憚鍍忔満鍚嶇О锛�
+func (api AreaApi) GetGb28181CameraTree(parentId string, searchType string, cameraName string) []TreeMenu {
+	var result []TreeMenu
 
+	client := NewClient()
+
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/area/gb28181Tree"
+	params := make(map[string]string, 0)
+	params["parentId"] = parentId
+	params["searchType"] = searchType
+	params["cameraName"] = cameraName
+
+	respBody, err := client.DoGetRequest(url, params, nil)
+	if err != nil {
+		return nil
+	}
+
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		return nil
+	}
+
+	bytes, _ := json.Marshal(res.Data)
+	if err = json.Unmarshal(bytes, &result);err !=nil{
+		return nil
+	}
+	return result
+}
+
+func (api AreaApi) Gb28181TreeRefresh(id string) bool {
+	flag := false
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/area/gb28181TreeRefresh"
+	client := NewClient()
+	paramBody := map[string]interface{}{
+		"id":id,
+	}
+	respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil)
+	if err != nil {
+		return flag
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		return flag
+	}
+	flag = res.Success
+	return flag
+}
+
+func (api AreaApi) Gb28181TreeDelete() bool {
+	flag := false
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/area/gb28181TreeDelete"
+	client := NewClient()
+	respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, nil, nil, nil)
+	if err != nil {
+		return flag
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		return flag
+	}
+	flag = res.Success
+	return flag
+}
+
+//娣诲姞鐩綍鑺傜偣
+func (api AreaApi) AreaAdd(paramBody map[string]interface{}) bool {
+	flag := false
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/area/add"
+	client := NewClient()
+	respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil)
+	if err != nil {
+		return flag
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		return flag
+	}
+	flag = res.Success
+	return flag
+}
+
+//鐩綍鏇存柊
+func (api AreaApi) AreaUpdate(paramBody map[string]interface{}) bool {
+	flag := false
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/area/update"
+	client := NewClient()
+
+	respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody,nil, nil)
+	if err != nil {
+		return flag
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		fmt.Println(err)
+		return flag
+	}
+	flag = res.Success
+	return flag
+}
+
+//鍒犻櫎鐩綍
+func (api AreaApi) AreaDelete(id string) bool {
+	flag := false
+	if id == "" {
+		return flag
+	}
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/area/del"
+	client := NewClient()
+	paramBody := make(map[string]interface{}, 0)
+	paramBody["id"] = id
+	respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody,nil, nil)
+	if err != nil {
+		return flag
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		return flag
+	}
+	flag = res.Success
 	return flag
 }

--
Gitblit v1.8.0