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
{
///
/// ÈÏÖ¤ÊÚȨ½Ó¿Ú
///
/// Author:ÂíÐ˸Õ
/// CreatedTimed:2022-05-14 09:32 PM
public interface IAuthService
{
///
///
///
///
///
Task LoginAsync(AuthLoginInput input);
///
/// 手机号登录
///
///
///
Task LoginWithPhoneAsync(AuthLoginWithPhoneInput input);
///
/// 注销/推出登录
///
///
Task LoginOutAsync();
///
///
///
///
Task GetUserInfoAsync();
///
///
///
///
Task GetPasswordEncryptKeyAsync();
///
///
///
///
Task GetCaptcha();
///
///
///
///
///
Task CheckCaptcha(CaptchaInput input);
///
/// 获取登录信息
///
///
///
Task GetUserValidateInfoAsync(long id);
///
/// PermissionItem
///
///
Task> GetPermissionItems(int type = 0, params PermissionTypeEnum[] ptEnums);
///
/// 获得token
///
/// 用户信息
///
Task GetToken(AuthLoginOutput? user);
}
}