From 676d8bd099fddeedbdbad2840be7e683d647bb51 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@qq.com>
Date: 星期二, 14 五月 2019 14:00:36 +0800
Subject: [PATCH] area interface

---
 /dev/null          |   58 -------------------
 cameraApi.go       |    5 +
 entites.go         |   13 ++++
 httpClient_test.go |    2 
 areaApi.go         |   82 +++++++++++++++++++++++---
 5 files changed, 88 insertions(+), 72 deletions(-)

diff --git a/areaApi.go b/areaApi.go
index dee1b49..a81c466 100644
--- a/areaApi.go
+++ b/areaApi.go
@@ -3,30 +3,32 @@
 import (
 	"encoding/json"
 	"fmt"
-	"net/http"
-	"strings"
 )
 
 type AreaApi struct {
 }
 
-//鏌ヨ鏈湴鎽勫儚鏈烘爲
-func (api AreaApi) GetLocalCameraTree(parentId int) []TreeMenu {
+//parentId 瑕佹煡瀵荤殑鐩綍鏍戠殑鏍硅妭鐐筰d
+//searchType(0:鍏ㄩ儴锛�1:鍒嗘瀽鎽勫儚鏈�,2:鐩戞帶鎽勫儚鏈�)
+//cameraName锛堟憚鍍忔満鍚嶇О锛�
+func (api AreaApi) GetLocalCameraTree(parentId int, searchType int, 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 := BASIC_URL + DATA_URL_PREFIX + "/area/localmenu"
+	params := make(map[string]string, 0)
+	params["parentId"] = string(parentId)
+	params["searchType"] = string(searchType)
+	params["cameraName"] = cameraName
+
+	respBody, err := client.DoGetRequest(url, params, nil)
 	if err != nil {
 		return result
 	}
 
 	var res Result
-	if err = json.Unmarshal(body, &res); err != nil {
+	if err = json.Unmarshal(respBody, &res); err != nil {
 		fmt.Println(err)
 	}
 
@@ -41,6 +43,64 @@
 //娣诲姞鐩綍鑺傜偣
 func (api AreaApi) AreaAdd(area Area) bool {
 	flag := false
+	url := BASIC_URL + DATA_URL_PREFIX + "/area/add"
+	client := NewClient()
+	paramBody := Struct2Map(area)
+	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) AreaUpdate(area Area) bool {
+	flag := false
+	url := BASIC_URL + DATA_URL_PREFIX + "/area/update/" + string(area.Id)
+	client := NewClient()
+
+	if area.Name == "" || area.Id == 0 {
+		return flag
+	}
+	paramBody := Struct2Map(area)
+	respBody, err := client.DoPutRequest(url, CONTENT_TYPE_JSON, paramBody, 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 int) bool {
+	flag := false
+	if id == 0 {
+		return flag
+	}
+	url := BASIC_URL + DATA_URL_PREFIX + "/area/del"
+	client := NewClient()
+	paramQuery := make(map[string]string, 0)
+	paramQuery["id"] = string(id)
+	respBody, err := client.DoGetRequest(url, paramQuery, 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
 }
diff --git a/cameraApi.go b/cameraApi.go
index 2b3d484..eacba42 100644
--- a/cameraApi.go
+++ b/cameraApi.go
@@ -9,9 +9,10 @@
 
 //閫氳繃cameraId鑾峰彇鎽勫儚鏈轰俊鎭�
 func (api CameraApi) GetCameraById(cameraId string) (result Camera, err error) {
-	url := BASIC_URL + "/data/api-v/camera/show/" + cameraId
+	url := BASIC_URL + DATA_URL_PREFIX + "/camera/show/" + cameraId
+	client := NewClient()
 
-	body, err := DoGetRequest(url, nil, nil)
+	body, err := client.DoGetRequest(url, nil, nil)
 	if err != nil {
 		return result, err
 	}
diff --git a/common.go b/common.go
deleted file mode 100644
index c6edb76..0000000
--- a/common.go
+++ /dev/null
@@ -1,107 +0,0 @@
-package dbapi
-
-import (
-	"bytes"
-	"encoding/json"
-	"io/ioutil"
-	"log"
-	"net/http"
-	"time"
-)
-
-const (
-	BASIC_URL = "http://192.168.1.182:8000"
-)
-
-//鍙戣捣GET璇锋眰
-func DoGetRequest(url string, params map[string]string, headers map[string]string) ([]byte, error) {
-	var body []byte
-	request, err := http.NewRequest("GET", url, nil)
-	if err != nil {
-		log.Println(err)
-		return body, err
-	}
-	// add params
-	query := request.URL.Query()
-	if params != nil {
-		for key, val := range params {
-			query.Add(key, val)
-		}
-		request.URL.RawQuery = query.Encode()
-	}
-	//add headers
-	client := &http.Client{}
-	log.Printf("Go GET URL : %s \n", request.URL.String())
-	resp, err := client.Do(request)
-	if err != nil {
-		return body, err
-	}
-	defer resp.Body.Close()
-	body, err = ioutil.ReadAll(resp.Body)
-	if err != nil {
-		return body, err
-	}
-	return body, nil
-}
-
-//鍙戣捣POST璇锋眰
-func DoPostRequest(url string, body map[string]string, params map[string]string, headers map[string]string) ([]byte, error) {
-	var resultByte []byte
-	var bodyJson []byte
-	if body != nil {
-		var err error
-		bodyJson, err = json.Marshal(body)
-		if err != nil {
-			log.Println(err)
-			return resultByte, err
-		}
-	}
-	request, err := http.NewRequest("POST", url, bytes.NewBuffer(bodyJson))
-	if err != nil {
-		log.Println(err)
-		return resultByte, err
-	}
-	request.Header.Set("Content-type", "application/json")
-	//add params
-	q := request.URL.Query()
-	if params != nil {
-		for key, val := range params {
-			q.Add(key, val)
-		}
-		request.URL.RawQuery = q.Encode()
-	}
-	// add headers
-	if headers != nil {
-		for key, val := range headers {
-			request.Header.Add(key, val)
-		}
-	}
-	client := &http.Client{}
-	resp, err := client.Do(request)
-	if err != nil {
-		return resultByte, err
-	}
-	defer resp.Body.Close()
-	resultByte, err = ioutil.ReadAll(resp.Body)
-	if err != nil {
-		return resultByte, err
-	}
-	return resultByte, nil
-}
-
-func DoRequest(request *http.Request, contentType string) ([]byte, error) {
-	var body []byte
-	request.Header.Add("Content-Type", contentType)
-	timeout := time.Duration(5 * time.Second) //瓒呮椂鏃堕棿50ms
-	client := &http.Client{Timeout: timeout}
-	resp, err := client.Do(request)
-	if err != nil {
-		return body, err
-	}
-	defer resp.Body.Close()
-	body, err = ioutil.ReadAll(resp.Body)
-	if err != nil {
-		return body, err
-	}
-	return body, nil
-}
diff --git a/entites.go b/entites.go
index 05ac02c..4bddb2d 100644
--- a/entites.go
+++ b/entites.go
@@ -32,6 +32,19 @@
 	Reserved   string
 }
 
+type TreeMenu struct {
+	Id        string     `json:"id" `
+	Type      string     `json:"type"`
+	Name      string     `json:"name"`
+	Treenodes []TreeMenu `json:"children"`
+}
+
+type TreeNode struct {
+	Id       int
+	Name     string
+	Parentid int
+}
+
 //鎽勫儚鏈虹粨鏋�
 type Camera struct {
 	Id        string
diff --git a/httpClient.go b/httpClient.go
deleted file mode 100644
index de800f7..0000000
--- a/httpClient.go
+++ /dev/null
@@ -1,58 +0,0 @@
-package dbapi
-
-import (
-	"encoding/json"
-	"fmt"
-	"io/ioutil"
-	"net/http"
-	"strings"
-	"time"
-
-)
-
-type DbApi struct{}
-
-const (
-	BASIC_URL = "http://192.168.1.182:8000"
-)
-
-func DoRequest(request *http.Request, contentType string) ([]byte, error) {
-	var body []byte
-	request.Header.Add("Content-Type", contentType)
-	timeout := time.Duration(5 * time.Second) //瓒呮椂鏃堕棿50ms
-	client := &http.Client{Timeout: timeout}
-	resp, err := client.Do(request)
-	if err != nil {
-		return body, err
-	}
-	defer resp.Body.Close()
-	body, err = ioutil.ReadAll(resp.Body)
-	if err != nil {
-		return body, err
-	}
-	return body, nil
-}
-
-//閫氳繃cameraId鑾峰彇鎽勫儚鏈轰俊鎭�
-func (api DbApi) GetCameraById(cameraId string) (result Camera, err error) {
-	url := BASIC_URL + "/data/api-v/camera/show/" + cameraId
-	request, err := http.NewRequest("GET", url, strings.NewReader(cameraId))
-	if err != nil {
-		return result, err
-	}
-	
-	body, err := DoRequest(request, "application/json")
-	if err != nil {
-		return result, err
-	}
-
-	var res Result
-	if err = json.Unmarshal(body, &res); err != nil {
-		fmt.Println(err)
-	}
-
-	bytes, _ := json.Marshal(res.Data)
-	err = json.Unmarshal(bytes, &result)
-
-	return result, err
-}
diff --git a/httpClient_test.go b/httpClient_test.go
index 08e7c4f..64874bc 100644
--- a/httpClient_test.go
+++ b/httpClient_test.go
@@ -6,7 +6,7 @@
 )
 
 func TestGetCameraById(t *testing.T) {
-	var api DbApi
+	var api CameraApi
 	camera, _ := api.GetCameraById("cid0")
 	fmt.Println(camera)
 }

--
Gitblit v1.8.0