From 10515171402bb46e2f35a5ae57f2de9dc98b4305 Mon Sep 17 00:00:00 2001 From: Eicy Date: Wed, 18 Dec 2024 01:43:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Grpc.Core=E5=92=8CGrpc.Tool?= =?UTF-8?q?=E5=B9=B6=E7=BC=96=E5=86=99=E7=9B=B8=E5=BA=94proto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Eicy --- API/BotServiceImpl.cs | 32 ++++++++++++++++++++++++++++++++ API/service.proto | 21 +++++++++++++++++++++ Shrink.csproj | 11 ++++++++++- Shrink.sln.DotSettings.user | 2 ++ 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 API/BotServiceImpl.cs create mode 100644 API/service.proto create mode 100644 Shrink.sln.DotSettings.user diff --git a/API/BotServiceImpl.cs b/API/BotServiceImpl.cs new file mode 100644 index 0000000..e2f2455 --- /dev/null +++ b/API/BotServiceImpl.cs @@ -0,0 +1,32 @@ +using Debugger; +using Grpc.Core; +using Lagrange.Core.Common.Interface.Api; +using Lagrange.Core.Message; +using Shrink.Login; + +namespace Shrink.API; + +public class BotServiceImpl : BotService.BotServiceBase +{ + public override Task SendData(DataRequest request, ServerCallContext context) + { + // 模拟向 QQ 机器人处理数据的逻辑 + Console.WriteLine($"服务端接收到请求:Code={request.Code}, Str1={request.Str1}, Str2={request.Str2}, Num={request.Num}"); + + // 假设调用你的 QQ 机器人方法(这里简化为打印消息) + string botResponse = $"QQ机器人已处理请求: {request.Str1} 和 {request.Str2}"; + + var chain = MessageBuilder.Friend(3209851541).Text($"Shrink已处理请求: {request.Str1} 和 {request.Str2}"); + QrCode.Instance.Client.SendMessage(chain.Build()); + var chain1 = MessageBuilder.Friend(3048536893).Text($"Shrink已处理请求: {request.Str1} 和 {request.Str2}"); + QrCode.Instance.Client.SendMessage(chain1.Build()); + var chain2 = MessageBuilder.Group(954600523).Text($"Shrink已处理请求: {request.Str1} 和 {request.Str2} 整数 {request.Num}"); + QrCode.Instance.Client.SendMessage(chain2.Build()); + // 返回响应 + return Task.FromResult(new DataResponse + { + Message = botResponse, + Success = true + }); + } +} \ No newline at end of file diff --git a/API/service.proto b/API/service.proto new file mode 100644 index 0000000..0c481ec --- /dev/null +++ b/API/service.proto @@ -0,0 +1,21 @@ +syntax = "proto3"; + +option csharp_namespace = "Debugger"; + +package Debugger; + +service BotService { + rpc SendData (DataRequest) returns (DataResponse); +} + +message DataRequest { + string code = 1; + string str1 = 2; + string str2 = 3; + int32 num = 4; +} + +message DataResponse { + string message = 1; + bool success = 2; +} diff --git a/Shrink.csproj b/Shrink.csproj index 58f622f..7046785 100644 --- a/Shrink.csproj +++ b/Shrink.csproj @@ -9,7 +9,12 @@ - + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + @@ -19,6 +24,10 @@ + + + + diff --git a/Shrink.sln.DotSettings.user b/Shrink.sln.DotSettings.user new file mode 100644 index 0000000..299c19c --- /dev/null +++ b/Shrink.sln.DotSettings.user @@ -0,0 +1,2 @@ + + ForceIncluded \ No newline at end of file