Example #1
0
        /// <summary>
        /// 登陆命令执行函数
        /// </summary>
        private void OnExecuteLoginCommand()
        {
            try
            {
                if (string.IsNullOrWhiteSpace(LoginUser.UserName))
                {
                    Message = "请输入用户名";
                    return;
                }
                if (string.IsNullOrWhiteSpace(LoginUser.PassWord))
                {
                    Message = "请输入密码";
                    return;
                }
                Message = "正在核对用户名和密码...";
#if DEBUG
                System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                stopwatch.Start();
#endif
                var result = Task.Factory.StartNew <OperationResult <PageResult <MenuModule> > >
                             (
                    () => (Utility.Http.HttpClientHelper.PostResponse <OperationResult <PageResult <MenuModule> > >(GlobalData.ServerRootUri + "Identity/Login", Utility.JsonHelper.ToJson(LoginUser)))
                             ).Result;
#if DEBUG
                stopwatch.Stop();
                Utility.LogHelper.Info("登陆用时(毫秒):" + stopwatch.ElapsedMilliseconds);
                Utility.LogHelper.Info("登陆内容:" + Utility.JsonHelper.ToJson(result));
#endif

                //Message = result?.Message;
                if (!Equals(result, null) && result.Successed)
                {
                    Message = "登陆成功,正在加载...";
                    GlobalData.CurrentLoginUser  = this.LoginUser;
                    GlobalData.CurrentUserModule = result.Data.Data;
                    if (result.Data.Data.Any())
                    {
                        Utility.ConfigHelper.AddAppSetting("IsRemberUserName", IsRemberUserName.ToString());
                        Utility.ConfigHelper.AddAppSetting("IsRemberUserPassword", IsRemberUserPassword.ToString());

                        if (IsRemberUserName)
                        {
                            Utility.ConfigHelper.AddAppSetting("RemberUserName", LoginUser.UserName);
                        }
                        else
                        {
                            Utility.ConfigHelper.AddAppSetting("RemberUserName", "");
                        }
                        if (IsRemberUserPassword)
                        {
                            Utility.ConfigHelper.AddAppSetting("RemberUserPassword", Utility.Secutiry.RsaHelper.Encryption(LoginUser.PassWord));
                        }
                        else
                        {
                            Utility.ConfigHelper.AddAppSetting("RemberUserPassword", "");
                        }


                        Messenger.Default.Send(LoginUser, MessengerToken.LoginSuccess);
                    }
                    else
                    {
                        Message = "未找到该用户可用的功能权限!请与管理员联系!";
                    }
                    GetToken(result.Message);
                }
                else
                {
                    //登陆失败,显示错误信息
                    Message = result == null ? "请确认与服务器连接是否正常!" : result.Message;
                }
            }
            catch (Exception ex)
            {
                Message = ex.Message;
                Utility.LogHelper.Error("登陆异常!请与管理员联系!", ex);
            }
        }