46 lines
1.5 KiB
C#
46 lines
1.5 KiB
C#
using System.Net.Http;
|
||
|
||
namespace YY.Admin.Services.Service.Jeecg;
|
||
|
||
/// <summary>
|
||
/// Jeecg 后端访问网关:
|
||
/// 1. 统一封装 HTTP 调用;
|
||
/// 2. 统一封装 WebSocket 双向连接;
|
||
/// 3. 作为后续 Jeecg 集成功能的统一入口。
|
||
/// </summary>
|
||
public interface IJeecgBackendGateway
|
||
{
|
||
/// <summary>
|
||
/// 统一执行 Jeecg GET 请求(自动拼接 BaseUrl)。
|
||
/// </summary>
|
||
Task<HttpResponseMessage> ExecuteGetAsync(
|
||
string relativeOrAbsoluteUrl,
|
||
Dictionary<string, string>? headers = null,
|
||
CancellationToken cancellationToken = default);
|
||
|
||
/// <summary>
|
||
/// 统一执行 Jeecg GET 请求并返回文本。
|
||
/// </summary>
|
||
Task<string?> ExecuteGetStringAsync(
|
||
string relativeOrAbsoluteUrl,
|
||
Dictionary<string, string>? headers = null,
|
||
CancellationToken cancellationToken = default);
|
||
|
||
/// <summary>
|
||
/// 启动 Jeecg WebSocket 双向连接循环(自动重连)。
|
||
/// </summary>
|
||
Task RunWebSocketLoopAsync(
|
||
Func<string, Task> onMessage,
|
||
CancellationToken cancellationToken);
|
||
|
||
/// <summary>
|
||
/// 发送一条 WebSocket 消息(连接可用时)。
|
||
/// </summary>
|
||
Task<bool> SendWebSocketMessageAsync(string message, CancellationToken cancellationToken = default);
|
||
|
||
/// <summary>
|
||
/// 单次 WebSocket 上报(临时连接,适用于登录页等未常驻连接场景)。
|
||
/// </summary>
|
||
Task<bool> SendWebSocketOneShotAsync(string message, CancellationToken cancellationToken = default);
|
||
}
|