Beispiel #1
0
        public async Task <AjaxResult> Register(RegisterDto dto)
        {
            Check.NotNull(dto, nameof(dto));

            if (!ModelState.IsValid)
            {
                return(new AjaxResult("提交信息验证失败", AjaxResultType.Error));
            }
            if (!VerifyCodeHandler.CheckCode(dto.VerifyCode, dto.VerifyCodeId))
            {
                return(new AjaxResult("验证码错误,请刷新重试", AjaxResultType.Error));
            }

            dto.RegisterIp = HttpContext.GetClientIp();

            OperationResult <User> result = await _identityContract.Register(dto);

            if (result.Successed)
            {
                User   user = result.Data;
                string code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                code = UrlBase64ReplaceChar(code);
                string url  = $"{Request.Scheme}://{Request.Host}/#/identity/confirm-email?userId={user.Id}&code={code}";
                string body =
                    $"亲爱的用户 <strong>{user.NickName}</strong>[{user.UserName}],您好!<br>"
                    + $"欢迎注册,激活邮箱请 <a href=\"{url}\" target=\"_blank\"><strong>点击这里</strong></a><br>"
                    + $"如果上面的链接无法点击,您可以复制以下地址,并粘贴到浏览器的地址栏中打开。<br>"
                    + $"{url}<br>"
                    + $"祝您使用愉快!";
                await SendMailAsync(user.Email, "柳柳软件 注册邮箱激活邮件", body);
            }

            return(result.ToAjaxResult());
        }
Beispiel #2
0
        public async Task <string> Test01()
        {
            List <object> list = new List <object>();

            if (!_userManager.Users.Any())
            {
                RegisterDto dto = new RegisterDto
                {
                    UserName        = "******",
                    Password        = "******",
                    ConfirmPassword = "******",
                    Email           = "*****@*****.**",
                    NickName        = "大站长",
                    RegisterIp      = HttpContext.GetClientIp()
                };

                OperationResult <User> result = await _identityContract.Register(dto);

                if (result.Successed)
                {
                    User user = result.Data;
                    user.EmailConfirmed = true;
                    await _userManager.UpdateAsync(user);
                }
                list.Add(result.Message);
            }

            return(list.ExpandAndToString("\r\n"));
        }