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 }