| | |
| | | package dbapi |
| | | |
| | | import ( |
| | | "dbapi/protomsg" |
| | | "basic.com/pubsub/protomsg.git" |
| | | "fmt" |
| | | "testing" |
| | | ) |
| | |
| | | fmt.Println(camera) |
| | | } |
| | | |
| | | func TestMangosReqClient(t *testing.T){ |
| | | var client ReqrepApi |
| | | func TestCameraApi_Add(t *testing.T) { |
| | | var api CameraApi |
| | | camera := protomsg.Camera{ |
| | | Name:"测试啊啊啊啊啊啊啊啊", |
| | | Areaid:0, |
| | | } |
| | | result := api.CameraAdd(camera) |
| | | fmt.Println("add result: ",result) |
| | | |
| | | client.SendRequestAndGetReply("one") |
| | | } |
| | | |
| | | func TestSdkApi_Save(t *testing.T) { |
| | | var api SdkApi |
| | | sdk := protomsg.Sdk{ |
| | | SdkName:"测试sdk啊啊啊啊啊", |
| | | |
| | | } |
| | | result := api.Save(sdk) |
| | | fmt.Println("add result: ",result) |
| | | } |
| | | |
| | | func TestMangosReqClient(t *testing.T){ |
| | | |
| | | } |
| | | |
| | | func TestSdkApi_FindAll(t *testing.T) { |
| | |
| | | |
| | | type CameraApi struct{} |
| | | |
| | | func (api CameraApi) CameraAdd(camera protomsg.Camera) bool { |
| | | url := BASIC_URL + DATA_URL_PREFIX + "/camera/add" |
| | | client := NewClient() |
| | | bodyParam := make(map[string]interface{},0) |
| | | bodyParam["name"]=camera.Name |
| | | bodyParam["areaid"] = camera.Areaid |
| | | body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON,bodyParam,nil,nil) |
| | | if err != nil { |
| | | return false |
| | | } |
| | | |
| | | var res Result |
| | | if err = json.Unmarshal(body, &res); err != nil { |
| | | return false |
| | | } |
| | | return res.Success |
| | | } |
| | | |
| | | //通过cameraId获取摄像机信息 |
| | | func (api CameraApi) GetCameraById(cameraId string) (result protomsg.Camera, err error) { |
| | | url := BASIC_URL + DATA_URL_PREFIX + "/camera/show/" + cameraId |
| | |
| | | return result, err |
| | | } |
| | | |
| | | //查找所有摄像机 |
| | | func (api CameraApi) FindAll() (cameras []protomsg.Camera) { |
| | | url := BASIC_URL + DATA_URL_PREFIX + "/camera/showAll" |
| | | client := NewClient() |
| | |
| | | var body []byte |
| | | request, err := http.NewRequest("GET", url, nil) |
| | | if err != nil { |
| | | log.Println(err) |
| | | return body, err |
| | | } |
| | | // add params |
| | |
| | | } |
| | | //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 |
| | |
| | | var err error |
| | | bodyJson, err = json.Marshal(body) |
| | | if err != nil { |
| | | log.Println(err) |
| | | return resultBytes, err |
| | | } |
| | | } |
| | | request, err := http.NewRequest("POST", url, bytes.NewBuffer(bodyJson)) |
| | | if err != nil { |
| | | log.Println(err) |
| | | return resultBytes, err |
| | | } |
| | | request.Header.Set("Content-type", contentType) |
| | |
| | | var err error |
| | | bodyJson, err = json.Marshal(body) |
| | | if err != nil { |
| | | log.Println(err) |
| | | return resultBytes, err |
| | | } |
| | | } |
| | |
| | | var err error |
| | | bodyJson, err = json.Marshal(body) |
| | | if err != nil { |
| | | log.Println(err) |
| | | return resultBytes, err |
| | | } |
| | | } |
| | |
| | | |
| | | import ( |
| | | "basic.com/valib/deliver.git" |
| | | "basic.com/pubsub/protomsg.git" |
| | | "encoding/json" |
| | | "fmt" |
| | | "errors" |
| | | ) |
| | | |
| | | type ReqrepApi struct { |
| | | type ReqRepClient struct {} |
| | | |
| | | var ReqRep_URL = "tcp://192.168.1.11:8002" |
| | | |
| | | //初始化rply的地址 |
| | | func InitRplyUrl(url string) { |
| | | ReqRep_URL = url |
| | | } |
| | | |
| | | const ( |
| | | ReqRep_URL = "tcp://192.168.1.11:8002" |
| | | ) |
| | | func (api ReqRepClient) DoGetRequest(url string, params map[string]string, headers map[string]string) ([]byte, error) { |
| | | var reqBody RplyParamBody |
| | | reqBody.Action = url |
| | | var destMap map[string]interface{} |
| | | for idx,val := range params { |
| | | destMap[idx] = interface{}(val) |
| | | } |
| | | reqBody.Params = destMap |
| | | return doRply(reqBody) |
| | | } |
| | | |
| | | func (api ReqrepApi)SendRequestAndGetReply(reqStr string) string { |
| | | func (api ReqRepClient) DoPostRequest(url string, contentType string, body map[string]interface{}, params map[string]string, headers map[string]string) ([]byte, error) { |
| | | var reqBody RplyParamBody |
| | | reqBody.Action = url |
| | | reqBody.Params = body |
| | | return doRply(reqBody) |
| | | } |
| | | |
| | | func (api ReqRepClient) DoPutRequest(url string, contentType string, body map[string]interface{}, headers map[string]string) ([]byte, error) { |
| | | var reqBody RplyParamBody |
| | | reqBody.Action = url |
| | | reqBody.Params = body |
| | | return doRply(reqBody) |
| | | } |
| | | |
| | | func (api ReqRepClient) DoDeleteRequest(url string, contentType string, body map[string]interface{}, headers map[string]string) ([]byte, error) { |
| | | var reqBody RplyParamBody |
| | | reqBody.Action = url |
| | | reqBody.Params = body |
| | | return doRply(reqBody) |
| | | } |
| | | |
| | | type RplyParamBody struct { |
| | | Action string `json:"action"` //根据action判断做何种响应 |
| | | Params map[string]interface{} `json:"params"`//参数map |
| | | } |
| | | |
| | | func doRply(body RplyParamBody)([]byte,error){ |
| | | sender := deliver.NewClient(deliver.Mode(deliver.ReqRep), ReqRep_URL) |
| | | var sendMsg = protomsg.SdkMessage{} |
| | | sendMsg.Cid = "kkkk" |
| | | byteArr, _ := json.Marshal(sendMsg) |
| | | err := sender.Send(byteArr) |
| | | bytes,err := json.Marshal(body) |
| | | if err !=nil { |
| | | fmt.Println(err) |
| | | return nil,err |
| | | } |
| | | |
| | | fmt.Println("SendRequest") |
| | | return "" |
| | | err = sender.Send(bytes) |
| | | if err !=nil { |
| | | resMsg, _ := sender.Recv() |
| | | if resMsg !=nil { |
| | | return resMsg,nil |
| | | } |
| | | } |
| | | return nil,errors.New("nng no resp") |
| | | } |