From 3d9c487d82168e2f559ffae8d46fe6f20e37fef5 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 01 八月 2024 14:06:41 +0800
Subject: [PATCH] `
---
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