From 0464969366317154fdbb51e106ca778b855bdd08 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期六, 17 八月 2024 15:45:28 +0800 Subject: [PATCH] Merge branch 'master' into wxw --- Wms/Utility/Extension/ApiResponseActionFilter.cs | 56 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 33 insertions(+), 23 deletions(-) diff --git a/Wms/Utility/Extension/ApiResponseActionFilter.cs b/Wms/Utility/Extension/ApiResponseActionFilter.cs index 6f73a0c..d5afddd 100644 --- a/Wms/Utility/Extension/ApiResponseActionFilter.cs +++ b/Wms/Utility/Extension/ApiResponseActionFilter.cs @@ -1,46 +1,55 @@ -锘縰sing Microsoft.AspNetCore.Http; +锘縰sing Microsoft.AspNetCore.Authentication; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using NetTaste; using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.Linq; using System.Text; using System.Threading.Tasks; using Utility.Entity; namespace Utility { - public class ApiResponseActionFilter : IAsyncActionFilter + public class ApiResponseActionFilter : IAsyncResultFilter { - public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) + public async Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next) { - // 鍦ㄦ墽琛屽姩浣滀箣鍓嶇殑閫昏緫 - var resultContext = await next(); // 鎵ц鍔ㄤ綔鏂规硶骞惰幏鍙栨墽琛岀粨鏋� - - // 鍦ㄦ墽琛屽姩浣滀箣鍚庣殑閫昏緫 - if (resultContext.Result is ObjectResult objectResult) + if (context.Result is ObjectResult objectResult) { - var apiResponse = new ApiResponse<object>( - context.HttpContext.Response.StatusCode, - context.HttpContext.Response.StatusCode == 200 ? "璇锋眰鎴愬姛" : "閿欒", - objectResult.Value); - - //if (resultContext.Result is SqlSugarPagedList) - //{ - // apiResponse.count = ((SqlSugarPagedList)resultContext.Result).Total; - //} - + if (objectResult.StatusCode != null) + { + await next(); + return; + } + ApiResponse<object> apiResponse; + if (objectResult.Value is SqlSugarPagedList) + { + apiResponse = new ApiResponse<object>( + 0, "璇锋眰鎴愬姛", + ((SqlSugarPagedList)objectResult.Value).Items, + ((SqlSugarPagedList)objectResult.Value).Total); + } + else + { + apiResponse = new ApiResponse<object>( + 0, "璇锋眰鎴愬姛", + objectResult.Value); + } var json = JsonConvert.SerializeObject(apiResponse); context.HttpContext.Response.ContentType = "application/json"; context.HttpContext.Response.ContentLength = Encoding.UTF8.GetByteCount(json); - await context.HttpContext.Response.WriteAsync(json); + context.Result = new ObjectResult(apiResponse); + //await context.HttpContext.Response.WriteAsync(json); + } - if (resultContext.Result is EmptyResult) + else if (context.Result is EmptyResult) { var apiResponse = new ApiResponse<object>( - context.HttpContext.Response.StatusCode, + context.HttpContext.Response.StatusCode == 200 ? 0 : 1, context.HttpContext.Response.StatusCode == 200 ? "璇锋眰鎴愬姛" : "閿欒", "璇锋眰鎴愬姛" ); @@ -48,9 +57,10 @@ var json = JsonConvert.SerializeObject(apiResponse); context.HttpContext.Response.ContentType = "application/json"; context.HttpContext.Response.ContentLength = Encoding.UTF8.GetByteCount(json); - - await context.HttpContext.Response.WriteAsync(json); + context.Result = new ObjectResult(apiResponse); + //await context.HttpContext.Response.WriteAsync(json); } + await next(); } } } -- Gitblit v1.8.0