XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension.NetCore.ServerInteractive

[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFEExtension.NetCore.ServerInteractive

Adapt XFEDataTableManager and related classes to new route-based framework

Agent-Logs-Url: https://github.com/XFEstudio/XFEExtension.NetCore.ServerInteractive/sessions/eb796109-ff8a-44ea-bd18-4c257f1ea653 Co-authored-by: XFEstudio <132526994+XFEstudio@users.noreply.github.com>

138d47c
copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
提交于

代码差异

3 个文件 +23 -10
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Extensions/XFEServerCoreBuilderExtensions.cs +2 -2
@@ -26,14 +26,14 @@ public static class XFEServerCoreBuilderExtensions
26 26 xFEServerCoreBuilder.AddParameter("TableManager", xFEDataTableManagerBuilder.Build(getUserFunction, getEncryptedUserLoginModelFunction));
27 27
28 28 // Register the service for each table operation route
29 // XFEDataTableManagerService uses dynamic routing, so we use AddStandardServiceWithRoute
29 // XFEDataTableManagerService uses dynamic routing, so we use AddServiceWithRoute
30 30 foreach (var execute in xFEDataTableManagerBuilder.ExecuteList)
31 31 {
32 32 var parts = execute.Split('_', 2);
33 33 if (parts.Length == 2)
34 34 {
35 35 var route = $"table/{parts[0]}/{parts[1]}";
36 xFEServerCoreBuilder.AddService<XFEDataTableManagerService>();
36 xFEServerCoreBuilder.AddServiceWithRoute<XFEDataTableManagerService>(route);
37 37 }
38 38 }
39 39
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Requester/TableRequester.cs +4 -8
@@ -49,9 +49,8 @@ public class TableRequester
49 49 {
50 50 try
51 51 {
52 var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress, new
52 var (response, code) = await InteractiveHelper.GetServerResponse($"{RequestAddress}/table/get/{tableName}", new
53 53 {
54 execute = $"get_{tableName}",
55 54 pageCount,
56 55 page,
57 56 session = Session,
@@ -99,9 +98,8 @@ public class TableRequester
99 98 {
100 99 try
101 100 {
102 var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress, new
101 var (response, code) = await InteractiveHelper.GetServerResponse($"{RequestAddress}/table/add/{tableName}", new
103 102 {
104 execute = $"add_{tableName}",
105 103 data = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonSerializer.Serialize(data, JsonSerializerOptions))),
106 104 session = Session,
107 105 deviceInfo = DeviceInfo
@@ -141,9 +139,8 @@ public class TableRequester
141 139 {
142 140 try
143 141 {
144 var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress, new
142 var (response, code) = await InteractiveHelper.GetServerResponse($"{RequestAddress}/table/remove/{tableName}", new
145 143 {
146 execute = $"remove_{tableName}",
147 144 id,
148 145 session = Session,
149 146 deviceInfo = DeviceInfo
@@ -183,9 +180,8 @@ public class TableRequester
183 180 {
184 181 try
185 182 {
186 var (response, code) = await InteractiveHelper.GetServerResponse(RequestAddress, new
183 var (response, code) = await InteractiveHelper.GetServerResponse($"{RequestAddress}/table/change/{tableName}", new
187 184 {
188 execute = $"change_{tableName}",
189 185 data = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonSerializer.Serialize(data, JsonSerializerOptions))),
190 186 session = Session,
191 187 deviceInfo = DeviceInfo
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCoreBuilder.cs +17 -0
@@ -64,6 +64,23 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
64 64 return this;
65 65 }
66 66
67 /// <summary>
68 /// 注册标准服务(手动指定路由路径,适用于动态路由的服务)
69 /// </summary>
70 /// <typeparam name="T">服务泛型</typeparam>
71 /// <param name="route">路由路径</param>
72 /// <returns>XFE服务器核心构建器</returns>
73 public XFEServerCoreBuilder AddServiceWithRoute<T>(string route) where T : IServerCoreStandardService, new()
74 {
75 _serverStandardCoreServiceDictionary.Add(route, () =>
76 {
77 var inst = new T();
78 ApplyParameter(inst);
79 return inst;
80 });
81 return this;
82 }
83
67 84 /// <summary>
68 85 /// 注册标准服务(从EntryPointList自动获取路由路径)
69 86 /// </summary>