实现API功能并编写日志过滤方法

Signed-off-by: Eicy <im@crash.work>
This commit is contained in:
2024-12-21 01:05:49 +08:00
parent 2537d11f53
commit 3a41f098fe
7 changed files with 87 additions and 100 deletions

32
Service/ApiService.cs Normal file
View File

@@ -0,0 +1,32 @@
using Debugger;
using Grpc.Core;
using Shrink.Logger;
namespace Shrink.Service;
public class ApiService : APIService.APIServiceBase
{
private static readonly Lazy<ApiService> _instance = new(() => new ApiService());
public static ApiService Instance => _instance.Value;
public override Task<DataResponse> SendData(DataRequest request, ServerCallContext context)
{
LogManager.Instance.LogChain.LogMessage(request.Data, request.Event, request.LogLevel, request.MsgType,
request.Uin, request.Text);
var response = new DataResponse();
if (LogManager.Instance.IsSent)
{
response.Message = $"已发送至: {request.Uin}。";
response.Success = true;
}
else
{
response.Message = "未发送,可能的原因是信息被设置为忽略或出现其他问题。";
response.Success = false;
}
LogManager.Instance.IsSent = false;
return Task.FromResult(response);
}
}