diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RegisterDto.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RegisterDto.cs index 484f4ec7..f4a337a6 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RegisterDto.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RegisterDto.cs @@ -23,7 +23,7 @@ /// /// 电话 /// - public long Phone { get; set; } + public long? Phone { get; set; } /// /// 验证码 diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs index 5d1c1cb3..e358a995 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs @@ -317,17 +317,22 @@ namespace Yi.Framework.Rbac.Application.Services throw new UserFriendlyException("该系统暂未开放注册功能"); } - if (_rbacOptions.EnableCaptcha) + if (input.Phone is null) { - //校验验证码,根据电话号码获取 value,比对验证码已经uuid - await ValidationPhoneCaptchaAsync(ValidationPhoneTypeEnum.Register, input.Phone, input.Code); + throw new UserFriendlyException("手机号不能为空"); } - //临时账号 if (input.UserName.StartsWith("ls_")) { throw new UserFriendlyException("注册账号不能以ls_字符开头"); } + + if (_rbacOptions.EnableCaptcha) + { + //校验验证码,根据电话号码获取 value,比对验证码已经uuid + await ValidationPhoneCaptchaAsync(ValidationPhoneTypeEnum.Register, input.Phone.Value, input.Code); + } + //注册领域逻辑 await _accountManager.RegisterAsync(input.UserName, input.Password, input.Phone, input.Nick); } diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserAggregateRoot.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserAggregateRoot.cs index 67713772..3f00e048 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserAggregateRoot.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserAggregateRoot.cs @@ -19,7 +19,7 @@ namespace Yi.Framework.Rbac.Domain.Entities { } - public UserAggregateRoot(string userName, string password, long phone, string? nick = null) + public UserAggregateRoot(string userName, string password, long? phone, string? nick = null) { UserName = userName; EncryPassword.Password = password; diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs index 7051f71c..00c6219b 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs @@ -272,7 +272,7 @@ namespace Yi.Framework.Rbac.Domain.Managers /// /// /// - public async Task RegisterAsync(string userName, string password, long phone,string? nick) + public async Task RegisterAsync(string userName, string password, long? phone,string? nick) { var user = new UserAggregateRoot(userName, password, phone,nick); await _userManager.CreateAsync(user); diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/IAccountManager.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/IAccountManager.cs index d0493759..4e9b246f 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/IAccountManager.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/IAccountManager.cs @@ -14,7 +14,7 @@ namespace Yi.Framework.Rbac.Domain.Managers string CreateRefreshToken(Guid userId); Task GetTokenByUserIdAsync(Guid userId,Action? getUserInfo=null); Task LoginValidationAsync(string userName, string password, Action? userAction = null); - Task RegisterAsync(string userName, string password, long phone,string? nick); + Task RegisterAsync(string userName, string password, long? phone,string? nick); Task RestPasswordAsync(Guid userId, string password); Task UpdatePasswordAsync(Guid userId, string newPassword, string oldPassword); }