From daf7c4ec7270af5fc0b87eeaa3da1909d299be70 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@qq.com>
Date: 星期四, 09 五月 2019 20:52:49 +0800
Subject: [PATCH] common get and post
---
common.go | 107 ++++++++++++++++++++++++++
cameraApi.go | 28 +++++++
taskApi.go | 4 +
areaApi.go | 46 +++++++++++
4 files changed, 185 insertions(+), 0 deletions(-)
diff --git a/areaApi.go b/areaApi.go
new file mode 100644
index 0000000..dee1b49
--- /dev/null
+++ b/areaApi.go
@@ -0,0 +1,46 @@
+package dbapi
+
+import (
+ "encoding/json"
+ "fmt"
+ "net/http"
+ "strings"
+)
+
+type AreaApi struct {
+}
+
+//鏌ヨ鏈湴鎽勫儚鏈烘爲
+func (api AreaApi) GetLocalCameraTree(parentId int) []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
+ }
+
+ body, err := DoRequest(request, "application/json")
+ if err != nil {
+ return result
+ }
+
+ var res Result
+ if err = json.Unmarshal(body, &res); err != nil {
+ fmt.Println(err)
+ }
+
+ bytes, _ := json.Marshal(res.Data)
+ err = json.Unmarshal(bytes, &result)
+ if err != nil {
+ fmt.Println(err)
+ }
+ return result
+}
+
+//娣诲姞鐩綍鑺傜偣
+func (api AreaApi) AreaAdd(area Area) bool {
+ flag := false
+
+ return flag
+}
diff --git a/cameraApi.go b/cameraApi.go
new file mode 100644
index 0000000..2b3d484
--- /dev/null
+++ b/cameraApi.go
@@ -0,0 +1,28 @@
+package dbapi
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type CameraApi struct{}
+
+//閫氳繃cameraId鑾峰彇鎽勫儚鏈轰俊鎭�
+func (api CameraApi) GetCameraById(cameraId string) (result Camera, err error) {
+ url := BASIC_URL + "/data/api-v/camera/show/" + cameraId
+
+ body, err := DoGetRequest(url, nil, nil)
+ 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/common.go b/common.go
new file mode 100644
index 0000000..c6edb76
--- /dev/null
+++ b/common.go
@@ -0,0 +1,107 @@
+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/taskApi.go b/taskApi.go
new file mode 100644
index 0000000..7cf5ce3
--- /dev/null
+++ b/taskApi.go
@@ -0,0 +1,4 @@
+package dbapi
+
+type TaskApi struct {}
+
--
Gitblit v1.8.0