using PDF_Master.CustomControl; using PDF_Master.Helper; using PDF_Master.Model; using PDF_Master.Properties; using PDF_Master.Views.Dialog.ServiceDialog; using Prism.Commands; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Navigation; namespace PDF_Master.ViewModels.Dialog.ServiceDialog { public class LoginPasswordRegionViewModel : BindableBase, INavigationAware { private string uuid = ServiceHelper.GetDeviceSerialNumber(); private LoginDialogViewModel LoginDialogViewModel; private ErrorCodeHelper ErrorCodeHelper = new ErrorCodeHelper(); public IDialogService dialogs; public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue("LoginDialogViewModel", out LoginDialogViewModel); LoginEmail = LoginDialogViewModel.LoginEmail; } #region 文案 private string _Text_Login = ""; public string Text_Login { get { return _Text_Login; } set { SetProperty(ref _Text_Login, value); } } private string _Text_chmail = ""; public string Text_chmail { get { return _Text_chmail; } set { SetProperty(ref _Text_chmail, value); } } private string _Text_enterpass = ""; public string Text_enterpass { get { return _Text_enterpass; } set { SetProperty(ref _Text_enterpass, value); } } private string _LoginPasswordMsg0 = ""; public string LoginPasswordMsg0 { get { return _LoginPasswordMsg0; } set { SetProperty(ref _LoginPasswordMsg0, value); } } private string _Text_forgetpass = ""; public string Text_forgetpass { get { return _Text_forgetpass; } set { SetProperty(ref _Text_forgetpass, value); } } private string _Containspaces = ""; public string Containspaces { get { return _Containspaces; } set { SetProperty(ref _Containspaces, value); } } private string _Codemax = ""; public string Codemax { get { return _Codemax; } set { SetProperty(ref _Codemax, value); } } private string _Codemin = ""; public string Codemin { get { return _Codemin; } set { SetProperty(ref _Codemin, value); } } private void InitString() { Codemax = App.ServiceLoader.GetString("Codemax"); Codemin = App.ServiceLoader.GetString("Codemin"); Containspaces = App.ServiceLoader.GetString("code327"); Text_Login = App.ServiceLoader.GetString("Text_Login"); Text_chmail = App.ServiceLoader.GetString("Text_chmail"); Text_enterpass = App.ServiceLoader.GetString("RegisterPasswordMsg"); Text_forgetpass = App.ServiceLoader.GetString("Text_forgetpass"); LoginPasswordMsg0 = App.ServiceLoader.GetString("LoginPasswordMsg0"); } #endregion private bool enableNextStep = false; public bool EnableNextStep { get { return enableNextStep; } set { SetProperty(ref enableNextStep, value); } } private string _LoginEmail = ""; public string LoginEmail { get { return _LoginEmail; } set { SetProperty(ref _LoginEmail, value); } } private string _LoginPasswordlook; public string LoginPasswordlook { get { return _LoginPasswordlook; } set { SetProperty(ref _LoginPasswordlook, value); } } private string _LoginPassword = ""; public string LoginPassword { get { return _LoginPassword; } set { SetProperty(ref _LoginPassword, value); LoginPasswordmsglook = ""; LoginPasswordlookVis = Visibility.Collapsed; if (string.IsNullOrEmpty(LoginPassword)) { ChkVis = Visibility.Collapsed; } else { ChkVis = Visibility.Visible; } CheckEnableNextStepEncrypt(); } } private string _LoginPasswordmsglook = ""; public string LoginPasswordmsglook { get { return _LoginPasswordmsglook; } set { SetProperty(ref _LoginPasswordmsglook, value); } } private Visibility _LoginPasswordVisibility = Visibility.Visible; public Visibility LoginPasswordVisibility { get { return _LoginPasswordVisibility; } set { if (value == Visibility.Visible) { LoginTextVisibility = Visibility.Collapsed; } else { LoginTextVisibility = Visibility.Visible; } SetProperty(ref _LoginPasswordVisibility, value); } } private Visibility _ChkVis = Visibility.Collapsed; public Visibility ChkVis { get { return _ChkVis; } set { SetProperty(ref _ChkVis, value); } } private Visibility _LoginTextVisibility = Visibility.Collapsed; public Visibility LoginTextVisibility { get { return _LoginTextVisibility; } set { SetProperty(ref _LoginTextVisibility, value); } } private Visibility _LoginPasswordlookVis = Visibility.Collapsed; public Visibility LoginPasswordlookVis { get { return _LoginPasswordlookVis; } set { SetProperty(ref _LoginPasswordlookVis, value); } } public DelegateCommand DisplayPasswordCommand { get; set; } public DelegateCommand ChangeEmailCommand { get; set; } public DelegateCommand GoCodeUpdataCommand { get; set; } public DelegateCommand LoginCommand { get; set; } public DelegateCommand LinkLicenseCommand { get; set; } public DelegateCommand LoginPasswordChangedCommand { get; set; } LoginPasswordRegionViewModel(IRegionManager regionManager, IDialogService dialogService) { dialogs = dialogService; InitString(); DisplayPasswordCommand = new DelegateCommand(DisplayPassword); LoginCommand = new DelegateCommand(Login); ChangeEmailCommand = new DelegateCommand(ChangeEmail); GoCodeUpdataCommand = new DelegateCommand(GoCodeUpdata); LoginPasswordChangedCommand = new DelegateCommand(LoginPasswordChanged); } //密码改变 private void LoginPasswordChanged() { if (LoginPassword.Length < 6 && LoginPassword.Length > 0) { LoginPasswordlook = Codemin; } else if (LoginPassword.Length > 24) { LoginPasswordlook = Codemax; } else if(LoginPassword.Contains(" ")==true) { LoginPasswordlook = Containspaces; } else { LoginPasswordlook = ""; } } //获取忘记密码验证码 private void GoCodeUpdata() { LoginPassword = ""; LoginDialogViewModel.IsReset = true; LoginDialogViewModel.RegionMan("CodeRegion"); } //登录 private void Login() { string code = ServiceHelper.Login(LoginEmail, LoginPassword, uuid); if (code == "200") { LoginDialogViewModel.Close(); App.mainWindowViewModel.UserVis = Visibility.Visible; App.mainWindowViewModel.RegisterVis = Visibility.Collapsed; App.mainWindowViewModel.LoginVis = Visibility.Collapsed; App.mainWindowViewModel.OphVis = Visibility.Collapsed; Settings.Default.UserDate.Email = LoginEmail; } else { LoginPasswordmsglook = ErrorCodeHelper.Ercode(code); LoginPasswordlookVis = Visibility.Visible; } } private void ChangeEmail() { LoginDialogViewModel.RegionMan("LoginRegion"); } private void CheckEnableNextStepEncrypt() { EnableNextStep = true; if (LoginPassword.Length < 6 || LoginPassword.Length > 24 || LoginPassword.Contains(" ") == true) { EnableNextStep = false; } } public void DisplayPassword(object e) { var chk = e as CheckBox; if (chk != null) { if (chk.IsChecked == true) { LoginPasswordVisibility = Visibility.Collapsed; } else { LoginPasswordVisibility = Visibility.Visible; } } } } }