public async Task <JsonResult> CheckUsername([FromQuery] EmailVModel model)
 {
     return(Json
            (
                await _userManager.FindByNameAsync(model.Email) != null
            ));
 }
예제 #2
0
        public IActionResult VerificationCode([FromBody] EmailVModel model)
        {
            var result = new ResultModel(1);

            return(this.Wrapper(ref result, () =>
            {
                var user = _userRepository.GetByEmail(model.email);
                if (user != null)
                {
                    result.ResultNo = -1;
                    result.Message = "该邮箱已经注册过账号";
                    return;
                }
                // var key = $"VerificationCodel:Email:{emailDTO.email}";
                var toEmail = new List <string>()
                {
                    model.email
                };
                var random = new Random();
                var code = random.Next(1000, 10000);

                //  new CsRedisBase().set(key, code.ToString(), 120);

                var subject = "HeyTom 注册验证码";
                var content = $"您的验证码是{"3197"},有效期120秒!";
                result = EmailHelper.Send(toEmail, subject, content);
            }, true));
        }
예제 #3
0
        public IActionResult Detail([FromBody] EmailVModel model)
        {
            var result = new ResultModel();

            return(this.Wrapper(ref result, () =>
            {
                var user = _userRepository.GetByEmail(model.email);
            }, true));
        }
예제 #4
0
        public IActionResult GetByEmail([FromBody] EmailVModel model)
        {
            var result = new TResultModel <List <MenuVModel> >(1);

            return(this.Wrapper(ref result, () =>
            {
                var user = _userRepository.GetByEmail(model.email);
                if (user == null)
                {
                    result.ResultNo = -2;
                    result.Message = "非管理账号";
                    return;
                }
                if (user.Status == 2)
                {
                    result.ResultNo = -3;
                    result.Message = $"账号已冻结,如有疑问,可以发邮件给管理员";
                    return;
                }
                var role = _roleRepository.GetByUserId(user.Id);
                if (role == null)
                {
                    result.ResultNo = -1;
                    result.Message = "账号未设置角色,请联系管理员";
                    return;
                }
                var allMenus = _subMenuRepository.GetAll <MenuVModel>();
                if (role.Type == 1)
                {
                    result.TModel = allMenus;
                }
                else
                {
                    var thirdMenus = _subMenuRepository.GetByRoleId <MenuVModel>(role.Id);
                    if (thirdMenus?.Any() ?? false)
                    {
                        var secondMenus = allMenus.FindAll(x => thirdMenus.Exists(y => x.id == y.parentId) && !thirdMenus.Exists(y => x.id == y.id));
                        if (secondMenus?.Any() ?? false)
                        {
                            thirdMenus.AddRange(secondMenus);
                            var firstMenus = allMenus.FindAll(x => secondMenus.Exists(y => x.id == y.parentId) && !secondMenus.Exists(y => x.id == y.id));
                            if (firstMenus?.Any() ?? false)
                            {
                                thirdMenus.AddRange(firstMenus);
                            }
                        }
                    }

                    result.TModel = thirdMenus?.Distinct( )?.ToList();
                }
            }, true));
        }
예제 #5
0
        public async Task <IActionResult> ChangeLogin(EmailVModel model)
        {
            var id   = User.GetClaim(OpenIdConnectConstants.Claims.Subject);
            var user = await _userManager.FindByIdAsync(id);

            user.UserName = model.Email;
            var result = await _userManager.UpdateAsync(user);

            if (result.Succeeded)
            {
                return(Ok());
            }

            AddErrors(result);
            return(BadRequest(new ApiError(ModelState)));
        }