71 lines
2.5 KiB
C#
71 lines
2.5 KiB
C#
using Apimanager_backend.Dtos;
|
|
using Apimanager_backend.Models;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
namespace Apimanager_backend.Services
|
|
{
|
|
public interface IUserService
|
|
{
|
|
/// <summary>
|
|
/// 发送密码重置邮件到指定邮箱。
|
|
/// </summary>
|
|
/// <param name="email">用户注册的邮箱地址</param>
|
|
/// <returns>异步操作</returns>
|
|
Task SendResetPasswordEmailAsync(string email);
|
|
|
|
/// <summary>
|
|
/// 重置用户密码,验证重置令牌的有效性并更新密码。
|
|
/// </summary>
|
|
/// <param name="email">用户邮箱地址</param>
|
|
/// <param name="token">重置密码的令牌</param>
|
|
/// <param name="newPassword">新的密码</param>
|
|
/// <returns>异步操作</returns>
|
|
Task ResetPasswordAsync(string email, string code, string newPassword);
|
|
|
|
/// <summary>
|
|
/// 获取用户信息。
|
|
/// </summary>
|
|
/// <param name="userId">用户ID</param>
|
|
/// <returns>包含用户信息的 <see cref="UserInfoDto"/></returns>
|
|
Task<UserInfoDto> GetUserAsync(int userId);
|
|
|
|
/// <summary>
|
|
/// 更新用户信息。
|
|
/// </summary>
|
|
/// <param name="user">包含更新信息的 <see cref="UpdateUserDto"/></param>
|
|
/// <returns>更新后的 <see cref="UserInfoDto"/></returns>
|
|
Task<UserInfoDto> UpdateUserAsync(int userId,UpdateUserDto user);
|
|
/// <summary>
|
|
/// 检测用户名是否被使用
|
|
/// </summary>
|
|
/// <param name="username">用户名</param>
|
|
/// <returns></returns>
|
|
Task<bool> IsUsernameExist(string username);
|
|
/// <summary>
|
|
/// 检测邮箱是否被使用
|
|
/// </summary>
|
|
/// <param name="email">邮箱</param>
|
|
/// <returns></returns>
|
|
Task<bool> IsEmailExist(string email);
|
|
|
|
/// <summary>
|
|
/// 通过ApiToken获取用户
|
|
/// </summary>
|
|
/// <param name="token"></param>
|
|
/// <returns></returns>
|
|
Task<UserInfoDto?> GetByTokenAsync(string token);
|
|
/// <summary>
|
|
/// 更新用户头像
|
|
/// </summary>
|
|
/// <param name="url"></param>
|
|
/// <returns></returns>
|
|
Task<bool> UpdateUserAvatarAsync(int userId,string url);
|
|
/// <summary>
|
|
/// 设置用户调用凭证
|
|
/// </summary>
|
|
/// <param name="userId"></param>
|
|
/// <returns></returns>
|
|
Task<string> SetUserTokenAsync(int userId);
|
|
}
|
|
}
|