sqlite的api,便于内部使用
liuxiaolong
2019-12-04 66f2832e579e3f1dd000345dde9be7b1bbed4017
reqrepClient.go
@@ -1,69 +1,63 @@
package dbapi
import (
   "basic.com/valib/deliver.git"
   "encoding/json"
   "errors"
)
type ReqRepClient struct {}
var ReqRep_URL = "tcp://192.168.1.11:8002"
//初始化rply的地址
func InitRplyUrl(url string) {
   ReqRep_URL = url
}
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 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)
   bytes,err := json.Marshal(body)
   if err !=nil {
      return nil,err
   }
   err = sender.Send(bytes)
   if err !=nil {
      resMsg, _ := sender.Recv()
      if resMsg !=nil {
         return resMsg,nil
      }
   }
   return nil,errors.New("nng no resp")
}
//var ReqRep_URL = "tcp://192.168.1.11:8002"
//
////初始化rply的地址
//func InitRplyUrl(url string) {
//   ReqRep_URL = url
//}
//
//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 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)
//   bytes,err := json.Marshal(body)
//   if err !=nil {
//      return nil,err
//   }
//   err = sender.Send(bytes)
//   if err !=nil {
//      resMsg, _ := sender.Recv()
//      if resMsg !=nil {
//         return resMsg,nil
//      }
//   }
//   return nil,errors.New("nng no resp")
//}