Skip to content

Commit bc46330

Browse files
committed
自动设置api函数的信息
1 parent 86e22a7 commit bc46330

File tree

4 files changed

+59
-1
lines changed

4 files changed

+59
-1
lines changed

src/ZKWeb.MVVMPlugins/MVVM.Angular.Website/static/src/modules/generated_module/services/website-manage-service.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,12 @@ export class WebsiteManageService {
6262
request
6363
});
6464
}
65+
66+
/** 获取当前的Api函数信息 */
67+
GetApiMethodInfo(): Observable<string> {
68+
return this.appApiService.call<string>(
69+
"/api/WebsiteManageService/GetApiMethodInfo",
70+
{
71+
});
72+
}
6573
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Services.Structs;
5+
using ZKWebStandard.Extensions;
6+
using ZKWebStandard.Web;
7+
8+
namespace ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Extensions
9+
{
10+
/// <summary>
11+
/// Http上下文的扩展函数
12+
/// </summary>
13+
public static class IHttpContextExtensions
14+
{
15+
/// <summary>
16+
/// 设置当前的Api函数信息
17+
/// </summary>
18+
public static void SetApiMethodInfo(this IHttpContext context, ApplicationServiceApiMethodInfo info)
19+
{
20+
context.Items[typeof(ApplicationServiceApiMethodInfo)] = info;
21+
}
22+
23+
/// <summary>
24+
/// 获取当前的Api函数信息
25+
/// </summary>
26+
public static ApplicationServiceApiMethodInfo GetApiMethodInfo(this IHttpContext context)
27+
{
28+
var info = context.Items.GetOrDefault(typeof(ApplicationServiceApiMethodInfo));
29+
return (ApplicationServiceApiMethodInfo)info;
30+
}
31+
}
32+
}

src/ZKWeb.MVVMPlugins/MVVM.Common.Base/src/Application/Services/Bases/ApplicationServiceBase.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.FastReflection;
44
using System.Linq;
55
using System.Reflection;
6+
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Extensions;
67
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Services.Attributes;
78
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Services.Interfaces;
89
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Services.Structs;
@@ -71,8 +72,16 @@ public virtual IEnumerable<ApplicationServiceApiMethodInfo> GetApiMethods()
7172
{
7273
action = filterAttribute.Filter(action);
7374
}
75+
// 请求时自动设置当前的Api信息
76+
ApplicationServiceApiMethodInfo info = null;
77+
var innerAction = action;
78+
action = () =>
79+
{
80+
Context.SetApiMethodInfo(info);
81+
return innerAction();
82+
};
7483
// 返回函数信息
75-
var info = new ApplicationServiceApiMethodInfo(
84+
info = new ApplicationServiceApiMethodInfo(
7685
method.ReturnType,
7786
method.Name,
7887
$"{UrlBase}/{method.Name}",

src/ZKWeb.MVVMPlugins/MVVM.Common.Organization/src/Application/Services/WebsiteManageService.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
using ZKWeb.Cache;
77
using ZKWeb.Localize;
88
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Dtos;
9+
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Extensions;
910
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Services.Bases;
11+
using ZKWeb.MVVMPlugins.MVVM.Common.Base.src.Application.Services.Structs;
1012
using ZKWeb.MVVMPlugins.MVVM.Common.Organization.src.Application.Dtos;
1113
using ZKWeb.MVVMPlugins.MVVM.Common.Organization.src.Components.ActionFilters;
1214
using ZKWeb.MVVMPlugins.MVVM.Common.Organization.src.Components.GenericConfigs;
@@ -113,5 +115,12 @@ public GridSearchResponseDto SearchScheduledTaskLogs(GridSearchRequestDto reques
113115
(c, q) => q.Where(t => t.Task.Id.Contains((string)c.Value)))
114116
.ToResponse<ScheduledTaskLogOutputDto>();
115117
}
118+
119+
[Description("获取当前的Api函数信息")]
120+
public string GetApiMethodInfo()
121+
{
122+
var info = Context.GetApiMethodInfo();
123+
return info.Name;
124+
}
116125
}
117126
}

0 commit comments

Comments
 (0)