非羁押人员管理平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
2.4 KiB

3 months ago
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Auth.Input;
using ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Auth.Output;
using ATS.NonCustodial.Domain.Shared.Enums;
using ATS.NonCustodial.Shared.Captcha.Dto;
using ATS.NonCustodial.Shared.Common.Dtos;
using ATS.NonCustodial.Shared.Common.UnifiedResults;
namespace ATS.NonCustodial.Application.Contracts.Interfaces.Admins.Auth
{
/// <summary>
/// ÈÏÖ¤ÊÚȨ½Ó¿Ú
/// </summary>
/// Author:ÂíÐ˸Õ
/// CreatedTimed:2022-05-14 09:32 PM
public interface IAuthService
{
/// <summary>
///
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IResultOutput> LoginAsync(AuthLoginInput input);
/// <summary>
/// 手机号登录
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IResultOutput> LoginWithPhoneAsync(AuthLoginWithPhoneInput input);
/// <summary>
/// 注销/推出登录
/// </summary>
/// <returns></returns>
Task<IResultOutput> LoginOutAsync();
/// <summary>
///
/// </summary>
/// <returns></returns>
Task<IResultOutput> GetUserInfoAsync();
/// <summary>
///
/// </summary>
/// <returns></returns>
Task<IResultOutput> GetPasswordEncryptKeyAsync();
/// <summary>
///
/// </summary>
/// <returns></returns>
Task<IResultOutput> GetCaptcha();
/// <summary>
///
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
Task<IResultOutput> CheckCaptcha(CaptchaInput input);
/// <summary>
/// 获取登录信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<UserValidateDto> GetUserValidateInfoAsync(long id);
/// <summary>
/// PermissionItem
/// </summary>
/// <returns></returns>
Task<List<PermissionItem>> GetPermissionItems(int type = 0, params PermissionTypeEnum[] ptEnums);
/// <summary>
/// 获得token
/// </summary>
/// <param name="user">用户信息</param>
/// <returns></returns>
Task<string> GetToken(AuthLoginOutput? user);
}
}