From 321b2a3adebe2aab1340fc5ffd7134c9131348b6 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期四, 19 十月 2023 09:57:56 +0800 Subject: [PATCH] 升级 --- IStation.WebApi.SqiAirp/Result/XnRestfulResultProvider.cs | 73 +++++++++++++++++++++++++++++------- 1 files changed, 59 insertions(+), 14 deletions(-) diff --git a/IStation.WebApi.SqiAirp/Result/XnRestfulResultProvider.cs b/IStation.WebApi.SqiAirp/Result/XnRestfulResultProvider.cs index f0865d7..5d27ad6 100644 --- a/IStation.WebApi.SqiAirp/Result/XnRestfulResultProvider.cs +++ b/IStation.WebApi.SqiAirp/Result/XnRestfulResultProvider.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Mvc.Filters; using System.Net; using Yw.Untity; +using Yw.Application; namespace IStation.WebApi { @@ -23,16 +24,57 @@ public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata) { // 瑙f瀽寮傚父淇℃伅 - var exceptionMetadata = UnifyContext.GetExceptionMetadata(context); + //var exceptionMetadata = UnifyContext.GetExceptionMetadata(context); - return new JsonResult(new XnRestfulResult<object> + XnRestfulResult<object> result = null; + + //furion寮傚父 + if (context.Exception is AppFriendlyException friendException) { - Code = XnRestfulResultCode.Error, - Message = exceptionMetadata.Errors, - Data = exceptionMetadata.StatusCode, - Extras = UnifyContext.Take(), - Timestamp = DateTime.Now - }); + result = new XnRestfulResult<object> + { + Code = (int)eResultCode.Alert, + Error = friendException.ErrorCode, + Message = friendException.ErrorMessage, + Data = null, + Extras = UnifyContext.Take(), + Timestamp = DateTime.Now + }; + } + + //api寮傚父 + else if (context.Exception is ApiException apiException) + { + result = new XnRestfulResult<object> + { + Code = apiException.ResultCode, + Error = apiException.ErrorCode, + Message = apiException.ErrorMsg, + Data = apiException.LogicData, + Extras = UnifyContext.Take(), + Timestamp = DateTime.Now + }; + } + + else + { + result = new XnRestfulResult<object> + { + Code = (int)eResultCode.Error, + Error = "绯荤粺寮傚父", + Message = context.Exception.StackTrace, + Data = null, + Extras = UnifyContext.Take(), + Timestamp = DateTime.Now + }; + } + + if (result.Code == (int)eResultCode.Error) + { + LogHelper.Error($"閿欒鐮侊細{result.Error}锛岄敊璇俊鎭細{result.Message}"); + } + + return new JsonResult(result); } /// <summary> @@ -59,7 +101,8 @@ return new JsonResult(new XnRestfulResult<object> { - Code = XnRestfulResultCode.Success, + Code = (int)eResultCode.Success, + Error = null, Message = "璇锋眰鎴愬姛", Data = data, Extras = UnifyContext.Take(), @@ -74,8 +117,9 @@ { return new JsonResult(new XnRestfulResult<object> { - Code = XnRestfulResultCode.Prompt, - Message = metadata.ValidationResult, + Code = (int)eResultCode.Prompt, + Error = ErrorCodes.V001.ToString(), + Message = metadata.Message, Data = null, Extras = UnifyContext.Take(), Timestamp = DateTime.Now @@ -94,9 +138,10 @@ { await context.Response.WriteAsJsonAsync(new XnRestfulResult<object> { - Code = XnRestfulResultCode.Alert, - Message = EnumUtil.GetDescription((HttpStatusCode)statusCode), - Data = statusCode, + Code = (int)eResultCode.Confirm, + Error = ErrorCodes.A099.ToString(), + Message = "鏉冮檺楠岃瘉澶辫触", + Data = null, Extras = UnifyContext.Take(), Timestamp = DateTime.Now }); -- Gitblit v1.9.3