Beispiel #1
0
 private async void StateSwitch(LoginUIState dest_state)
 {
     nextState = dest_state;
     while (!InitializeComponent_finished)
     {
         await Task.Delay(500);
     }
     VisualStateManager.GoToState(this, nextState.ToString(), true);
 }
Beispiel #2
0
 internal void ShowUIState(LoginUIState loginUIState)
 {
     foreach (var item in uiPanels)
     {
         if (item.name == loginUIState.ToString())
         {
             item.SetActive(true);
         }
     }
 }
Beispiel #3
0
        private async Task <bool> AutoLoginSession()
        {
            AutoLoginSetting MyAutoLoginSetting = new AutoLoginSetting();

            LoggingSystem.LoggingSystem.SystemControl.RegisterFetcherUser(new Login(Username, Password));
            if (MyAutoLoginSetting.State)
            {
                CurrentState = LoginUIState.Waiting;
                await LoggingSystem.LoggingSystem.SystemControl.RunConcreteUser(Pages.LoginPage);

                Debug.WriteLine("已尝试自动登录");
            }
            else
            {
                await LoggingSystem.LoggingSystem.SystemControl.RunConcreteUser(Pages.GetInfo);
            }
            return(MyAutoLoginSetting.State);
        }
Beispiel #4
0
        private async void ActButton_Click(object sender, RoutedEventArgs e)
        {
            var stateNow = CurrentState;

            CurrentState = LoginUIState.Waiting;
            switch (stateNow)
            {
            case LoginUIState.Normal:
            case LoginUIState.LoggedOut:
            case LoginUIState.LogInFailed:
                await Login();

                break;

            case LoginUIState.LoggedIn:
            case LoginUIState.LogOutFailed:
                if (ServiceName == NameManager.DirectOutServiceName && PrompLogout)
                {
                    TitleStr     = "当前是" + NameManager.DirectOutServiceName + " 不建议登出";
                    PrompLogout  = false;
                    CurrentState = LoginUIState.LoggedIn;
                }
                else if (!PrompLogout)
                {
                    TitleStr    = InitTitlestr;
                    PrompLogout = true;
                }
                if (PrompLogout)
                {
                    await Logout();
                }
                break;

            case LoginUIState.NoNetwork:
                PageRefresh();
                break;

            case LoginUIState.Waiting:
            default:
                break;
            }
        }
Beispiel #5
0
 public void PageRefresh()
 {
     CurrentState = LoginUIState.Waiting;
     AutoLoginSession();
     //不去等待
 }
Beispiel #6
0
 /// <summary>
 /// 设置下一个要显示的UIPanel所在的LoginUIState
 /// </summary>
 /// <param name="loginUIState"></param>
 public void SetNextUIState(LoginUIState loginUIState)
 {
     SetState(loginUIState.ToString());
 }