From 779e84213e8b6ff544c5127ea1cf909df47ca30f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com>
Date: Sat, 26 Oct 2024 10:21:16 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E6=89=8B=E6=9C=BA?=
=?UTF-8?q?=E5=8F=B7=E4=B8=BA=E7=A9=BA=E7=9A=84=E4=B8=B4=E6=97=B6=E8=B4=A6?=
=?UTF-8?q?=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dtos/Account/RegisterDto.cs | 2 +-
.../Services/AccountService.cs | 13 +++++++++----
.../Entities/UserAggregateRoot.cs | 2 +-
.../Managers/AccountManager.cs | 2 +-
.../Managers/IAccountManager.cs | 2 +-
5 files changed, 13 insertions(+), 8 deletions(-)
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);
}