密码,邮箱手机号码验证

This commit is contained in:
2021-07-08 14:22:27 +08:00
parent f5762bfade
commit bf32a1825b
8 changed files with 194 additions and 56 deletions

View File

@@ -2,7 +2,9 @@
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
using Furion;
using Furion.DatabaseAccessor;
using Furion.FriendlyException;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Caching.Memory;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@@ -19,9 +21,17 @@ namespace Ewide.Core.Util
public class CodeHelper
{
private readonly IMemoryCache _IMemoryCache;
public CodeHelper(IMemoryCache IMemoryCache)
{
private readonly IRepository<SysUser> _sysUserRep; // 用户表仓储
private readonly IUserManager _userManager;
public CodeHelper(
IMemoryCache IMemoryCache,
IRepository<SysUser> sysUserRep,
IUserManager userManager
){
_IMemoryCache = IMemoryCache;
_sysUserRep = sysUserRep;
_userManager = userManager;
}
public static string Aliyun_AccessKey = App.Configuration["SmsHelper:Aliyun_AccessKey"];
public static string Aliyun_AccessSecret = App.Configuration["SmsHelper:Aliyun_AccessSecret"];
@@ -246,7 +256,25 @@ namespace Ewide.Core.Util
throw Oops.Oh(ErrorCode.xg1100);
}
}
/// <summary>
/// 检测是否重复
/// </summary>
/// <param name="Target"></param>
/// <returns></returns>
public async Task<bool> CheckRepeat(string Target)
{
var Regex_phone = @"^((13[0-9])|(14[5,7])|(15[^4,\\D])|(17[0,1,3,6-8])|(18[0-9])|(19[8,9])|(166))[0-9]{8}$";
var Regex_Email = @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$";
if(new Regex(Regex_phone).IsMatch(Target)){
var isExist = await _sysUserRep.DetachedEntities.AnyAsync(u => (u.Id != _userManager.UserId ) && (u.Account == Target || u.Phone == Target));
if (isExist) throw Oops.Oh("手机号与他人账号或者手机号重复");
}else if(new Regex(Regex_Email).IsMatch(Target))
{
var isExist3 = await _sysUserRep.DetachedEntities.AnyAsync(u => (u.Id != _userManager.UserId) && (u.Account == Target || u.Email == Target));
if (isExist3) throw Oops.Oh("邮箱与他人账号或者邮箱重复");
}
return true;
}
}
}