using HoneyBox.Model.Models.Auth; namespace HoneyBox.Core.Interfaces; /// /// 认证服务接口 /// public interface IAuthService { /// /// 微信小程序登录 /// /// 微信授权code /// 推荐人ID /// 点击ID /// 登录结果 Task WechatMiniProgramLoginAsync(string code, int? pid, string? clickId); /// /// 手机号验证码登录 /// /// 手机号 /// 短信验证码 /// 推荐人ID /// 点击ID /// 登录结果 Task MobileLoginAsync(string mobile, string code, int? pid, string? clickId); /// /// 验证码绑定手机号 /// /// 用户ID /// 手机号 /// 短信验证码 /// 绑定结果 Task BindMobileAsync(int userId, string mobile, string code); /// /// 微信授权绑定手机号 /// /// 用户ID /// 微信授权code /// 绑定结果 Task WechatBindMobileAsync(int userId, string wechatCode); /// /// 微信手机号快速验证登录 /// /// 微信手机号授权code(getPhoneNumber返回) /// 微信登录code(uni.login返回,用于获取openid) /// 推荐人ID /// 登录结果 Task WechatPhoneLoginAsync(string phoneCode, string? loginCode, int? pid); /// /// 记录登录信息 /// /// 用户ID /// 设备类型 /// 设备信息 /// 记录登录响应 Task RecordLoginAsync(int userId, string? device, string? deviceInfo); /// /// 账号注销 /// /// 用户ID /// 类型:0=注销 1=取消注销 /// 异步任务 Task LogOffAsync(int userId, int type); /// /// H5绑定手机号(无需验证码) /// /// 用户ID /// 手机号 /// 绑定结果 Task BindMobileH5Async(int userId, string mobile); #region Refresh Token 相关方法 /// /// 刷新 Token /// /// Refresh Token /// 客户端 IP 地址 /// 刷新结果,包含新的 Access Token 和 Refresh Token Task RefreshTokenAsync(string refreshToken, string? ipAddress); /// /// 撤销 Token /// /// 要撤销的 Refresh Token /// 客户端 IP 地址 /// 异步任务 Task RevokeTokenAsync(string refreshToken, string? ipAddress); /// /// 撤销用户的所有 Token /// /// 用户ID /// 客户端 IP 地址 /// 异步任务 Task RevokeAllUserTokensAsync(int userId, string? ipAddress); #endregion }