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);
}