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