using PDF_Office.Helper; using PDF_Office.Properties; using Prism.Commands; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Threading; namespace PDF_Office.ViewModels.Dialog.ServiceDialog { public class UserOutCodeRegionViewModel : BindableBase, INavigationAware { private static Guid myuuid = Guid.NewGuid(); private string uuid = myuuid.ToString(); public IDialogService dialogs; private UserDialogViewModel UserDialogViewModel; private int time = 60; private bool _EnableNextStep = true; public bool EnableNextStep { get { return _EnableNextStep; } set { SetProperty(ref _EnableNextStep, value); } } private string _codetime = "60"; public string Codetime { get { return _codetime; } set { SetProperty(ref _codetime, value); } } private string _Codesum = ""; public string Codesum { get { return _Codesum; } set { SetProperty(ref _Codesum, value); } } private string _Code1 = ""; public string Code1 { get { return _Code1; } set { SetProperty(ref _Code1, value); if (CodeSum()) { Code6Changed(); } } } private string _Code2 = ""; public string Code2 { get { return _Code2; } set { SetProperty(ref _Code2, value); if (CodeSum()) { Code6Changed(); } } } private string _Code3 = ""; public string Code3 { get { return _Code3; } set { SetProperty(ref _Code3, value); if (CodeSum()) { Code6Changed(); } } } private string _Code4 = ""; public string Code4 { get { return _Code4; } set { SetProperty(ref _Code4, value); if (CodeSum()) { Code6Changed(); } } } private string _Code5 = ""; public string Code5 { get { return _Code5; } set { SetProperty(ref _Code5, value); if (CodeSum()) { Code6Changed(); } } } private string _Code6 = ""; public string Code6 { get { return _Code6; } set { SetProperty(ref _Code6, value); } } private string _UserCodemsg = ""; public string UserCodemsg { get { return _UserCodemsg; } set { SetProperty(ref _UserCodemsg, value); } } private Visibility _codeagin = Visibility.Collapsed; public Visibility Codeagin { get { return _codeagin; } set { SetProperty(ref _codeagin, value); } } private Visibility _UserCodemsgVis = Visibility.Collapsed; public Visibility UserCodemsgVis { get { return _UserCodemsgVis; } set { SetProperty(ref _UserCodemsgVis, value); } } public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue("UserDialogViewModel", out UserDialogViewModel); } public DelegateCommand UserOutCancelCommand { get; set; } public DelegateCommand CodetooCommand { get; set; } public DelegateCommand Code6ChangedCommand { get; set; } public DelegateCommand UserOutCommand { get; set; } public UserOutCodeRegionViewModel(IRegionManager regionManager, IDialogService dialogService) { Timebegin(); dialogs = dialogService; UserOutCancelCommand = new DelegateCommand(UserOutCancel); CodetooCommand = new DelegateCommand(Codetoo); Code6ChangedCommand = new DelegateCommand(Code6Changed); UserOutCommand = new DelegateCommand(UserOut); } private void UserOutCancel() { UserDialogViewModel.Close(); } //注销 private void UserOut() { Codesum = Code1 + Code2 + Code3 + Code4 + Code5 + Code6; if (Codesum.Length == 6) { if (ServiceHelper.Ok_code(UserDialogViewModel.UserEmail, Codesum, "user_log_off") == "success") { if (ServiceHelper.Usergout(Codesum) == "success") { Settings.Default.AppProperties.LoginToken = ""; App.IsLogin =false; Settings.Default.Save(); App.mainWindowViewModel.UserVis = Visibility.Collapsed; App.mainWindowViewModel.RegisterVis = Visibility.Collapsed; App.mainWindowViewModel.LoginVis = Visibility.Visible; UserDialogViewModel.Close(); } else { UserCodemsg = ServiceHelper.Usergout(Codesum); UserCodemsgVis = Visibility.Visible; } } else { UserCodemsg = ServiceHelper.Ok_code(UserDialogViewModel.UserEmail, Codesum, "user_log_off"); UserCodemsgVis = Visibility.Visible; } } else { UserCodemsg = "请输入六位数验证码"; } } private bool CodeSum() { Codesum = Code1 + Code2 + Code3 + Code4 + Code5 + Code6; if (Codesum.Length == 6) { return true; } else { return false; } } private void Code6Changed() { if (Code6.Length == 1) { if (CodeSum() == true) { if (ServiceHelper.Ok_code(UserDialogViewModel.UserEmail, Codesum, "user_log_off") == "success") { if (ServiceHelper.Usergout(Codesum) == "success") { App.IsLogin = false; UserDialogViewModel.Close(); } else { UserCodemsg = ServiceHelper.Usergout(Codesum); UserCodemsgVis = Visibility.Visible; } } else { UserCodemsg = ServiceHelper.Ok_code(UserDialogViewModel.UserEmail, Codesum, "user_log_off"); UserCodemsgVis = Visibility.Visible; } } else { UserCodemsg = "请输入六位数验证码"; UserCodemsgVis = Visibility.Visible; } } } private void Codetoo() { Codeagin = Visibility.Collapsed; time = 60; ServiceHelper.Get_code("user_log_off", UserDialogViewModel.UserEmail); } public void disTimer_Tick(object sender, EventArgs e) { if (time == 0) { Codeagin = Visibility.Visible; Codetime = ""; } else { time--; Codetime = "(" + time.ToString() + ")"; } } private DispatcherTimer disTimer = new DispatcherTimer(); public void Timebegin() { time = 60; //设置定时器 disTimer.Tick += new EventHandler(disTimer_Tick);//每一秒执行的方法 disTimer.Interval = new TimeSpan(10000000); //时间间隔为一秒。 disTimer.Start();//计时开始 } } }