| 12345678910111213141516171819202122232425262728293031323334353637 |
- using Admin.NET.Plugin.ApprovalFlow.Service;
- using Microsoft.AspNetCore.Builder;
- using Microsoft.AspNetCore.Http;
- namespace Admin.NET.Plugin.ApprovalFlow;
- public static class ApprovalFlowMiddlewareExtensions
- {
- public static IApplicationBuilder UseApprovalFlow(this IApplicationBuilder builder)
- {
- return builder.UseMiddleware<ApprovalFlowMiddleware>();
- }
- }
- /// <summary>
- /// 审批流中间件 — 可选审计模式(B8 fix: 改用 InvokeAsync 参数注入)
- /// </summary>
- public class ApprovalFlowMiddleware
- {
- private readonly RequestDelegate _next;
- public ApprovalFlowMiddleware(RequestDelegate next)
- {
- _next = next;
- }
- public async Task InvokeAsync(HttpContext context, SysApprovalService sysApprovalService)
- {
- var enabled = App.GetConfig<bool>("ApprovalFlow:AuditEnabled", false);
- if (enabled)
- {
- await sysApprovalService.MatchApproval(context);
- }
- await _next(context);
- }
- }
|