diff --git a/cmd/api/internal/middleware/signMiddleware.go b/cmd/api/internal/middleware/signMiddleware.go index c4c00f0..3397919 100644 --- a/cmd/api/internal/middleware/signMiddleware.go +++ b/cmd/api/internal/middleware/signMiddleware.go @@ -6,6 +6,7 @@ import ( "io" "net/http" "rs/cmd/api/internal/config" + "rs/cmd/api/internal/types" "rs/untils/response" "rs/untils/sign" ) @@ -20,6 +21,11 @@ func NewSignMiddleware(c *config.Config) *SignMiddleware { } } +var signMiddleware = map[string]interface{}{ + "/market/order/get": new(types.GetOrderReq), + "/market/key/asyncSend": new(types.AsyncReq), +} + func (m *SignMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ( @@ -33,6 +39,16 @@ func (m *SignMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc { if err != nil { response.Err(w, response.HTTP_AUTH_FAIL, "获取请求参数失败") } + // 特殊处理, 订单查询接口,只获取需要字段校验 + if v, ok := signMiddleware[r.RequestURI]; ok { + err = json.Unmarshal(reqData, v) + if err != nil { + response.Err(w, response.HTTP_AUTH_FAIL, "获取请求参数失败") + return + } + reqData, err = json.Marshal(v) + } + err = json.Unmarshal(reqData, &reqDataMap) if err != nil { response.Err(w, response.HTTP_AUTH_FAIL, "获取请求参数失败")