diff --git a/response/response.go b/response/response.go index 23093af..8e0e14d 100644 --- a/response/response.go +++ b/response/response.go @@ -54,12 +54,11 @@ func Success(ctx *gin.Context, data any) { func Send(ctx *gin.Context, code any, httpCode int, data any) { // 设置请求是否成功的标识 ctx.Set(define.GetHttpHandleConfig().RequestIsSuccessField, fmt.Sprintf("%v", code) == fmt.Sprintf("%v", successBusinessCode)) - finishRequestTime := time.Now().UnixMilli() - ctx.Set(define.GetHttpHandleConfig().FinishRequestTimeField, finishRequestTime) if ctx.GetBool(hasSendResponseFlag) { // 已经发送过数据, 后面在发送数据, 不执行 return } + finishRequestTime := time.Now().UnixMilli() // 设置数据已发送的标识 defer ctx.Set(hasSendResponseFlag, true) responseConfig := define.GetHttpHandleConfig() @@ -68,7 +67,7 @@ func Send(ctx *gin.Context, code any, httpCode int, data any) { responseConfig.ResponseMessageField: exception.GetMessage(code), responseConfig.ResponseTraceIDField: ctx.GetString(responseConfig.ResponseTraceIDField), responseConfig.ResponseDataField: data, - responseConfig.HandleRequestCostField: finishRequestTime - ctx.GetTime(responseConfig.StartRequestTimeField).UnixMilli(), + responseConfig.HandleRequestCostField: finishRequestTime - ctx.GetInt64(responseConfig.StartRequestTimeField), } // 记录完成时间 ctx.Set(responseConfig.FinishRequestTimeField, finishRequestTime)