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 | 37 ++++++++++++++++++++----------------- 1 files changed, 20 insertions(+), 17 deletions(-) diff --git a/Wms/Utility/Extension/ApiResponseActionFilter.cs b/Wms/Utility/Extension/ApiResponseActionFilter.cs index 5802b58..d5afddd 100644 --- a/Wms/Utility/Extension/ApiResponseActionFilter.cs +++ b/Wms/Utility/Extension/ApiResponseActionFilter.cs @@ -1,50 +1,52 @@ -锘縰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; -using Utility.Extension; 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) { + if (objectResult.StatusCode != null) + { + await next(); + return; + } ApiResponse<object> apiResponse; if (objectResult.Value is SqlSugarPagedList) { apiResponse = new ApiResponse<object>( - context.HttpContext.Response.StatusCode == 200 ? 0 : 1, - context.HttpContext.Response.StatusCode == 200 ? "璇锋眰鎴愬姛" : "閿欒", + 0, "璇锋眰鎴愬姛", ((SqlSugarPagedList)objectResult.Value).Items, ((SqlSugarPagedList)objectResult.Value).Total); } else { apiResponse = new ApiResponse<object>( - context.HttpContext.Response.StatusCode == 200 ? 0 : 1, - context.HttpContext.Response.StatusCode == 200 ? "璇锋眰鎴愬姛" : "閿欒", + 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 == 200 ? 0 : 1, @@ -55,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