上海网站建设公公司网络规划设计师教程 pdf

当前位置: 首页 > news >正文

上海网站建设公公司,网络规划设计师教程 pdf,家装室内设计,帮助做问卷调查的网站登录、注册服务添加 添加注册数据类型添加注册UI修改bug UserDto的UserName更改为可null类型Resgiter 添加加密方法修改控制器
添加注册数据类型 添加文件MyToDo.Share.Models.ResgiterUserDto.cs using System; using System.Collections.Generic; using System.Linq; us…登录、注册服务添加 添加注册数据类型添加注册UI修改bug UserDto的UserName更改为可null类型Resgiter 添加加密方法修改控制器
添加注册数据类型 添加文件MyToDo.Share.Models.ResgiterUserDto.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace MyToDo.Share.Models {public class ResgiterUserDto: BaseDto{private string userName;public string UserName{get { return userName; }set { userName value; OnPropertyChanged(); }}private string account;public string Account{get { return account; }set { account value; OnPropertyChanged(); }}private string passWord;public string PassWord{get { return passWord; }set { passWord value; OnPropertyChanged(); }}private string newpassWord;public string NewPassWord{get { return newpassWord; }set { newpassWord value; OnPropertyChanged(); }}} } 添加注册UI 修改文件Mytodo.Views.LoginView.xaml UserControlx:ClassMytodo.Views.LoginViewxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:ihttp://schemas.microsoft.com/xaml/behaviorsxmlns:localclr-namespace:Mytodo.Viewsxmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:mdhttp://materialdesigninxaml.net/winfx/xaml/themesxmlns:passclr-namespace:Mytodo.Extensionsxmlns:prismhttp://prismlibrary.com/mc:Ignorabledprism:Dialog.WindowStyleStyle TargetTypeWindowSetter PropertyWidth Value600 /Setter PropertyHeight Value400 /Setter PropertySizeToContent ValueWidthAndHeight /Setter PropertyResizeMode ValueNoResize /Setter Propertyprism:Dialog.WindowStartupLocation ValueCenterScreen //Style/prism:Dialog.WindowStyleGrid Width350 Height400md:Snackbarx:NameLoginSnakeBarGrid.ColumnSpan2Panel.ZIndex1MessageQueue{md:MessageQueue} /md:Transitioner SelectedIndex{Binding SelectIndex, FallbackValue0}md:TransitionerSlideDockPanel Margin15,5,15,20 VerticalAlignmentCentermd:PackIconWidth100Height80HorizontalAlignmentCenterVerticalAlignmentCentermd:ThemeAssist.ThemeDarkDockPanel.DockTopForegroundSpringGreenKindAccountOutline /TextBlockMargin0,10DockPanel.DockTopFontSize22FontWeightBoldText欢迎使用 /TextBoxMargin0,10md:HintAssist.Hint请输入账号DockPanel.DockTopText{Binding Account} /PasswordBoxMargin0,10md:HintAssist.Hint请输入密码pass:PassWordExtensions.PassWord{Binding Password, ModeTwoWay, UpdateSourceTriggerPropertyChanged}DockPanel.DockTopi:Interaction.Behaviorspass:PasswordBehavior //i:Interaction.Behaviors/PasswordBoxButtonCommand{Binding ExecuteCommand}CommandParameterLoginContent登录系统DockPanel.DockTop /DockPanel Margin0,5 LastChildFillFalseTextBlock Text注册账号i:Interaction.Triggersi:EventTrigger EventNameMouseLeftButtonDowni:InvokeCommandAction Command{Binding ExecuteCommand} CommandParameterResgiterPage //i:EventTrigger/i:Interaction.Triggers/TextBlockTextBlock DockPanel.DockRight Text忘记密码? //DockPanel/DockPanel/md:TransitionerSlidemd:TransitionerSlideDockPanel Margin15 VerticalAlignmentCentermd:PackIconWidth100Height80HorizontalAlignmentCenterVerticalAlignmentCentermd:ThemeAssist.ThemeDarkDockPanel.DockTopForegroundSpringGreenKindAccountOutline /TextBlockMargin0,10DockPanel.DockTopFontSize22FontWeightBoldText注册账号 /TextBoxMargin0,5md:HintAssist.Hint请输入用户名DockPanel.DockTopText{Binding RUserDto.Account} /TextBoxMargin0,5md:HintAssist.Hint请输入账号DockPanel.DockTopText{Binding RUserDto.UserName} /PasswordBoxMargin0,5md:HintAssist.Hint请输入密码pass:PassWordExtensions.PassWord{Binding RUserDto.PassWord, ModeTwoWay, UpdateSourceTriggerPropertyChanged}DockPanel.DockTopi:Interaction.Behaviorspass:PasswordBehavior //i:Interaction.Behaviors/PasswordBoxPasswordBoxMargin0,5md:HintAssist.Hint请再次输入密码pass:PassWordExtensions.PassWord{Binding RUserDto.NewPassWord, ModeTwoWay, UpdateSourceTriggerPropertyChanged}DockPanel.DockTopi:Interaction.Behaviorspass:PasswordBehavior //i:Interaction.Behaviors/PasswordBoxButtonCommand{Binding ExecuteCommand}CommandParameterResgiterContent注册账号DockPanel.DockTop /ButtonMargin0,10Command{Binding ExecuteCommand}CommandParameterReturnContent返回登录DockPanel.DockTopStyle{StaticResource MaterialDesignOutlinedButton} //DockPanel/md:TransitionerSlide/md:Transitioner/Grid /UserControl 添加注册、登录、退出等功能实现以及功能的字段 using AutoMapper; using Mytodo.Extensions; using Mytodo.Service; using MyToDo.Api.Context; using MyToDo.Share; using MyToDo.Share.Models; using Prism.Commands; using Prism.Events; using Prism.Mvvm; using Prism.Services.Dialogs; using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.Linq; using System.Security.Principal; using System.Text; using System.Threading.Tasks; using System.Windows.Shapes;namespace Mytodo.ViewModels {public class LoginViewModel : BindableBase, IDialogAware{#region 定义命令/// summary/// 执行登录|推出等相关命令/// /summarypublic DelegateCommandstring ExecuteCommand { get; set; }#endregion#region 定义属性public int SelectIndex{get { return selectIndex; }set { selectIndex value; RaisePropertyChanged(); }}/// summary/// 注册区域字段/// /summarypublic ResgiterUserDto RUserDto{get { return rUserDto; }set { rUserDto value; RaisePropertyChanged(); }}public string Password{get { return password; }set { password value; }}public string Account{get { return username; }set { username value; }}#endregion#region 定义重要字段#endregion#region 定义普通字段private int selectIndex;private ResgiterUserDto rUserDto;private string password;private string username;private readonly ILoginService loginService;private readonly IEventAggregator aggregator;#endregion#region 命令方法/// summary/// ExecuteCommand对应的方法/// /summary/// param nameobj/paramprivate void Execute(string obj){switch (obj){case Login: Login(); break;case LoginOut: LoginOut(); break;case Resgiter: Resgiter(); break;case ResgiterPage: SelectIndex 1; break;case Return: SelectIndex 0; break;}}async private void Resgiter(){if (string.IsNullOrWhiteSpace(RUserDto.Account) ||string.IsNullOrWhiteSpace(RUserDto.UserName) ||string.IsNullOrWhiteSpace(RUserDto.PassWord) ||string.IsNullOrWhiteSpace(RUserDto.NewPassWord)){//aggregator.SendMessage(请输入完整的注册信息, Login);return;}if (RUserDto.PassWord ! RUserDto.NewPassWord){//aggregator.SendMessage(密码不一致,请重新输入, Login);return;}var resgiterResult await loginService.Resgiter(new UserDto(){Account RUserDto.Account,UserName RUserDto.UserName,PassWord RUserDto.PassWord});if (resgiterResult ! null resgiterResult.Status){//aggregator.SendMessage(注册成功, Login);//注册成功,返回登录页页面SelectIndex 0;}// else//aggregator.SendMessage(resgiterResult.Message, Login);}async private void LoginOut(){if (string.IsNullOrWhiteSpace(Account) ||string.IsNullOrWhiteSpace(Password)){return;}var loginResult await loginService.Login(new UserDto(){Account Account,PassWord Password});if (loginResult ! null loginResult.Status){RequestClose?.Invoke(new DialogResult(ButtonResult.OK));}else{//登录失败提示…//aggregator.SendMessage(loginResult.Message, Login);}}async private void Login(){if (string.IsNullOrWhiteSpace(Account) ||string.IsNullOrWhiteSpace(Password)){return;}var loginResult await loginService.Login(new UserDto(){Account Account,PassWord Password});if (loginResult ! null loginResult.Status){RequestClose?.Invoke(new DialogResult(ButtonResult.OK));}else{//登录失败提示…//aggregator.SendMessage(loginResult.Message, Login);}}#endregion#region 启动项#endregion#region 继承public string Title { get; set; } Todo;public event ActionIDialogResult RequestClose;public bool CanCloseDialog(){return true;}public void OnDialogClosed(){LoginOut();}public void OnDialogOpened(IDialogParameters parameters){}#endregionpublic LoginViewModel(ILoginService loginService, IEventAggregator aggregator){//初始化对象RUserDtonew ResgiterUserDto();ExecuteCommand new DelegateCommandstring (Execute);this.loginService loginService;this.aggregator aggregator;}} } 修改bug UserDto的UserName更改为可null类型 修改文件MyToDo.Share.Models.UserDto.cs public string UserName– public string? UserNameResgiter 添加加密方法 修改文件MyToDo.Api.Service.cs 在model.CreateDate DateTime.Now;后添加 model.Password model.Password.GetMD5();修改控制器 修改文件MyToDo.Api.Controllers.LoginController [HttpGet]public async TaskApiReponse LoginAsync(string Account, string PassWord) await service.LoginAsync(Account,PassWord);修改为 [HttpPost]public async TaskApiReponse Login([FromBody] UserDto param) await service.LoginAsync(param.Account, param.PassWord);