- 新增二维码生成端点,自动检测局域网 IP,前端扫一扫即可打开网站 - 提取 IApiResponse 接口,ServiceRequestBinder 支持强类型请求 DTO 绑定 - FileStream 端点迁移至 AppEndpoints 统一注册,管道支持 FileStreamResponse 原始文件返回 - 文件库端点全面使用 MapGet<TService, TRequest> 泛型注册 - 移除 Avalonia-API/Extensions 中的业务端点文件,统一由 Services 层管理
61 lines
2.3 KiB
C#
61 lines
2.3 KiB
C#
using Avalonia_Common.Core;
|
||
using Avalonia_Services.Core;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace Avalonia_Services.Services.AuthService
|
||
{
|
||
/// <summary>
|
||
/// API 鉴权端点服务接口,定义登录、刷新 Token 和登出操作。
|
||
/// </summary>
|
||
public interface IApiAuthEndpointService
|
||
{
|
||
/// <summary>
|
||
/// 处理用户登录请求。
|
||
/// </summary>
|
||
/// <param name="ctx">服务端点上下文。</param>
|
||
/// <returns>包含 Token 的认证响应。</returns>
|
||
Task<IApiResponse> LoginAsync(ApiLoginRequest request, ServiceEndpointContext ctx);
|
||
|
||
/// <summary>
|
||
/// 使用 Refresh Token 刷新 Access Token。
|
||
/// </summary>
|
||
/// <param name="ctx">服务端点上下文。</param>
|
||
/// <returns>新的 Token 对。</returns>
|
||
Task<IApiResponse> RefreshAsync(ApiRefreshTokenRequest request, ServiceEndpointContext ctx);
|
||
|
||
/// <summary>
|
||
/// 处理用户登出请求。
|
||
/// </summary>
|
||
/// <param name="ctx">服务端点上下文。</param>
|
||
/// <returns>登出结果。</returns>
|
||
Task<IApiResponse> LogoutAsync(ApiLogoutRequest request, ServiceEndpointContext ctx);
|
||
}
|
||
|
||
/// <summary>
|
||
/// PC 端鉴权端点服务接口,定义授权码登录、Token 刷新和登出操作。
|
||
/// </summary>
|
||
public interface IPcAuthEndpointService
|
||
{
|
||
/// <summary>
|
||
/// 使用授权码进行登录授权。
|
||
/// </summary>
|
||
/// <param name="ctx">服务端点上下文。</param>
|
||
/// <returns>包含 Token 的认证响应。</returns>
|
||
Task<IApiResponse> AuthorizeAsync(PcAuthorizeRequest request, ServiceEndpointContext ctx);
|
||
|
||
/// <summary>
|
||
/// 刷新当前 Token。
|
||
/// </summary>
|
||
/// <param name="ctx">服务端点上下文。</param>
|
||
/// <returns>新的 Token 响应。</returns>
|
||
Task<IApiResponse> RefreshAsync(PcRefreshRequest request, ServiceEndpointContext ctx);
|
||
|
||
/// <summary>
|
||
/// 处理用户登出请求。
|
||
/// </summary>
|
||
/// <param name="ctx">服务端点上下文。</param>
|
||
/// <returns>登出结果。</returns>
|
||
Task<IApiResponse> LogoutAsync(PcLogoutRequest request, ServiceEndpointContext ctx);
|
||
}
|
||
}
|