コード例 #1
0
        /*
         * / <summary>
         * / 更新用户提交DB
         * / </summary>
         * / <returns></returns>
         */

        private async Task UpdateUser(BZUserModel model)
        {
            var user = await userManager.FindByNameAsync(model.UserName);

            user.NickName  = model.NickName;
            user.Sex       = model.Sex;
            user.Signature = model.Signature ??= "";
            user.QQ        = model.QQ;
            //user.Email = model.Email;
            //user.Avatar = model.Avatar;
            //user.Mobile = model.Mobile;
            //user.LastLoginAddr = model.LastLoginAddr;
            var result = await userManager.UpdateAsync(user);

            if (result.Succeeded)
            {
                //CurrentUser= await userManager.GetUserAsync((await authenticationStateTask).User);
                //NavigationManager.NavigateTo("/user/base",true);

                await navigationToUpdateUserUI("/user/base");
            }
            else
            {
                ToastError("更新失败");
            }
        }
コード例 #2
0
        public async Task <IActionResult> Register(RegisterModel parameters)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values.SelectMany(state => state.Errors)
                                  .Select(error => error.ErrorMessage)
                                  .FirstOrDefault()));
            }

            var user = new BZUserModel
            {
                UserName = parameters.Account
            };
            var result = await _userManager.CreateAsync(user, parameters.Password);

            if (!result.Succeeded)
            {
                return(BadRequest(result.Errors.FirstOrDefault()?.Description));
            }

            return(await Login(new LoginModel
            {
                Username = parameters.Account,
                Password = parameters.Password
            }));
        }
コード例 #3
0
        internal async Task SendEmail()
        {
            if (!form.IsValid())
            {
                return;
            }
            var model = form.GetValue <PasswordModel>();

            if (!RegexHelper.IsEmail(model.Email))
            {
                ToastError("邮箱号码错误");
                return;
            }
            User = await GetUser();

            if (User is null)
            {
                ToastError("您尚未绑定邮箱");
            }
            else if (!User.Email.Equals(model.Email))
            {
                ToastError("请输入您已绑定的邮箱");
            }
            else
            {
                await WithFullScreenLoading(
                    async() => await NetService.SendVerifyCode(User.Id, EmailType.EmailRetrievePassword, model.Email),
                    async response =>
                {
                    if (response.IsSuccess)
                    {
                        verifyCode = response.Data.ToString();
                        ToastSuccess("验证码发送成功,2分钟内有效,请前往邮箱查收");
                        btnInputDisabled = true;
                        while (TimeOut > 0)
                        {
                            if (TimeOut == 1)
                            {
                                btnInputDisabled = false;
                            }
                            TimeOut--;
                            BtnText = (TimeOut > 0 && TimeOut < CountDownTime) ? $"请等待{TimeOut}s后重试" : "发送验证码";
                            StateHasChanged();
                        }
                        ;
                        TimeOut = CountDownTime;
                        await Task.Delay(1000);
                        StateHasChanged();
                    }
                    else
                    {
                        ToastError($"{response.Message}");
                    }
                }

                    );
            }
        }
コード例 #4
0
        private async Task LoadData()
        {
            User = await GetUser();

            value = new PasswordModel()
            {
                Email = User?.Email ?? "",
                Code  = ""
            };
            showInput = !string.IsNullOrWhiteSpace(value.Email);
        }
コード例 #5
0
        private async Task LoadData()
        {
            User = await GetUser();

            value = new PasswordModel()
            {
                Mobile = User?.PhoneNumber ?? "",
                Code   = ""
            };
            showInput = !string.IsNullOrWhiteSpace(value.Mobile);
        }
コード例 #6
0
        protected override async Task InitilizePageDataAsync()
        {
            User = await GetUser();

            value = new UploadActivity()
            {
                Previews = new UploadModel[]
                {
                    new UploadModel()
                    {
                        FileName = User?.Avator,
                        Url      = string.IsNullOrWhiteSpace(User.Avator)?"/img/defaultact.png":User.Avator
                    }
                }
            };
        }
コード例 #7
0
 protected override async Task InitilizePageDataAsync()
 {
     if (string.IsNullOrWhiteSpace(TopicId))
     {
         ToastError("帖子不存在或已删除");
         NavigationManager.NavigateTo("/");
         return;
     }
     NavigationManager.LocationChanged -= NavigationManager_LocationChanged;
     NavigationManager.LocationChanged += NavigationManager_LocationChanged;
     await WithFullScreenLoading(async() =>
     {
         User = await GetUser();
         await LoadTopic();
         await LoadFollow();
     });
 }
コード例 #8
0
        protected async Task ChangePwdByOld()
        {
            if (!bformOldpwd.IsValid())
            {
                return;
            }
            User = await GetUser();

            if (!await CheckOldPassword())
            {
                return;
            }
            if (!CheckConfirmPassword())
            {
                return;
            }
            await ResetPassword(bformOldpwd);
        }
コード例 #9
0
        private async Task NewReply(NewReplyModel model, BZUserModel userModel)
        {
            if (string.IsNullOrWhiteSpace(model.Content))
            {
                form.Toast("还是写点什么吧");
                return;
            }

            if (Topic is null)
            {
                ToastError($"主贴不存在或已被删除");
                NavigationManager.NavigateTo("/");
                return;
            }

            BZReplyDto bZReplyDto = new BZReplyDto()
            {
                Content        = model.Content,
                UserId         = Topic.CreatorId,
                Favor          = 0,
                CreateDate     = DateTime.Now,
                LastModifyDate = DateTime.Now,
                Status         = 0,
                TopicId        = Topic.Id,
                CreatorId      = userModel.Id
            };

            await WithFullScreenLoading(async() =>
            {
                var addResult = await NetService.AddReply(bZReplyDto);
                if (addResult.IsSuccess)
                {
                    NavigationManager.NavigateTo(NavigationManager.Uri, true);//跳转到+"&golast=1"
                }
                else
                {
                    ToastError("回复失败");
                    return;
                }
            });
        }
コード例 #10
0
        /*
         * / <summary>
         * / 更新用户提交DB
         * / </summary>
         * / <returns></returns>
         */

        private async Task UpdateUser(BZUserModel model)
        {
            var updateUser = new UpdateUserDto()
            {
                Id        = model.Id,
                NickName  = model.NickName,
                Sex       = model.Sex,
                Signature = model.Signature
            };
            //user.Email = model.Email;
            //user.Avatar = model.Avatar;
            //user.Mobile = model.Mobile;
            //user.LastLoginAddr = model.LastLoginAddr;
            var result = await NetService.UpdateUserAsync(updateUser);

            if (result.IsSuccess)
            {
                await navigationToUpdateUserUI("/user/base");
            }
            else
            {
                ToastError("更新失败");
            }
        }
コード例 #11
0
 protected override async Task InitilizePageDataAsync()
 {
     User = await GetUser();
     await LoadData();
 }